/*
 * Copyright (c) <2021> Side Effects Software Inc. *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 *
 *
 * COMMENTS:
 *      This file is generated. Do not modify directly.
 */

#pragma once
#include "HAPI/HAPI.h"
#include "HAL/PlatformProcess.h"


struct HOUDINIENGINE_API FHoudiniApi
{
public:

	static void InitializeHAPI(void* LibraryHandle);
	static void FinalizeHAPI();
	static bool IsHAPIInitialized();

public:

	typedef HAPI_Result (*AddAttributeFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info);
	typedef HAPI_Result (*AddGroupFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_GroupType group_type, const char * group_name);
	typedef HAPI_AssetInfo (*AssetInfo_CreateFuncPtr)();
	typedef void (*AssetInfo_InitFuncPtr)(HAPI_AssetInfo * in);
	typedef HAPI_AttributeInfo (*AttributeInfo_CreateFuncPtr)();
	typedef void (*AttributeInfo_InitFuncPtr)(HAPI_AttributeInfo * in);
	typedef HAPI_Result (*BindCustomImplementationFuncPtr)(HAPI_SessionType session_type, const char * dll_path);
	typedef HAPI_Result (*CancelPDGCookFuncPtr)(const HAPI_Session * session, HAPI_PDG_GraphContextId graph_context_id);
	typedef HAPI_Result (*CheckForSpecificErrorsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ErrorCodeBits errors_to_look_for, HAPI_ErrorCodeBits * errors_found);
	typedef HAPI_Result (*CleanupFuncPtr)(const HAPI_Session * session);
	typedef HAPI_Result (*ClearConnectionErrorFuncPtr)();
	typedef HAPI_Result (*CloseSessionFuncPtr)(const HAPI_Session * session);
	typedef HAPI_Result (*CommitGeoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id);
	typedef HAPI_Result (*CommitWorkitemsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id);
	typedef HAPI_Result (*ComposeChildNodeListFuncPtr)(const HAPI_Session * session, HAPI_NodeId parent_node_id, HAPI_NodeTypeBits node_type_filter, HAPI_NodeFlagsBits node_flags_filter, HAPI_Bool recursive, int * count);
	typedef HAPI_Result (*ComposeNodeCookResultFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_StatusVerbosity verbosity, int * buffer_length);
	typedef HAPI_Result (*ComposeObjectListFuncPtr)(const HAPI_Session * session, HAPI_NodeId parent_node_id, const char * categories, int * object_count);
	typedef HAPI_CompositorOptions (*CompositorOptions_CreateFuncPtr)();
	typedef void (*CompositorOptions_InitFuncPtr)(HAPI_CompositorOptions * in);
	typedef HAPI_Result (*ConnectNodeInputFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int input_index, HAPI_NodeId node_id_to_connect, int output_index);
	typedef HAPI_Result (*ConvertMatrixToEulerFuncPtr)(const HAPI_Session * session, const float * matrix, HAPI_RSTOrder rst_order, HAPI_XYZOrder rot_order, HAPI_TransformEuler * transform_out);
	typedef HAPI_Result (*ConvertMatrixToQuatFuncPtr)(const HAPI_Session * session, const float * matrix, HAPI_RSTOrder rst_order, HAPI_Transform * transform_out);
	typedef HAPI_Result (*ConvertTransformFuncPtr)(const HAPI_Session * session, const HAPI_TransformEuler * transform_in, HAPI_RSTOrder rst_order, HAPI_XYZOrder rot_order, HAPI_TransformEuler * transform_out);
	typedef HAPI_Result (*ConvertTransformEulerToMatrixFuncPtr)(const HAPI_Session * session, const HAPI_TransformEuler * transform, float * matrix);
	typedef HAPI_Result (*ConvertTransformQuatToMatrixFuncPtr)(const HAPI_Session * session, const HAPI_Transform * transform, float * matrix);
	typedef HAPI_Result (*CookNodeFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const HAPI_CookOptions * cook_options);
	typedef HAPI_Bool (*CookOptions_AreEqualFuncPtr)(const HAPI_CookOptions * left, const HAPI_CookOptions * right);
	typedef HAPI_CookOptions (*CookOptions_CreateFuncPtr)();
	typedef void (*CookOptions_InitFuncPtr)(HAPI_CookOptions * in);
	typedef HAPI_Result (*CookPDGFuncPtr)(const HAPI_Session * session, HAPI_NodeId cook_node_id, int generate_only, int blocking);
	typedef HAPI_Result (*CreateCustomSessionFuncPtr)(HAPI_SessionType session_type, void * session_info, HAPI_Session * session);
	typedef HAPI_Result (*CreateHeightFieldInputFuncPtr)(const HAPI_Session * session, HAPI_NodeId parent_node_id, const char * name, int xsize, int ysize, float voxelsize, HAPI_HeightFieldSampling sampling, HAPI_NodeId * heightfield_node_id, HAPI_NodeId * height_node_id, HAPI_NodeId * mask_node_id, HAPI_NodeId * merge_node_id);
	typedef HAPI_Result (*CreateHeightfieldInputVolumeNodeFuncPtr)(const HAPI_Session * session, HAPI_NodeId parent_node_id, HAPI_NodeId * new_node_id, const char * name, int xsize, int ysize, float voxelsize);
	typedef HAPI_Result (*CreateInProcessSessionFuncPtr)(HAPI_Session * session);
	typedef HAPI_Result (*CreateInputNodeFuncPtr)(const HAPI_Session * session, HAPI_NodeId * node_id, const char * name);
	typedef HAPI_Result (*CreateNodeFuncPtr)(const HAPI_Session * session, HAPI_NodeId parent_node_id, const char * operator_name, const char * node_label, HAPI_Bool cook_on_creation, HAPI_NodeId * new_node_id);
	typedef HAPI_Result (*CreateThriftNamedPipeSessionFuncPtr)(HAPI_Session * session, const char * pipe_name);
	typedef HAPI_Result (*CreateThriftSocketSessionFuncPtr)(HAPI_Session * session, const char * host_name, int port);
	typedef HAPI_Result (*CreateWorkitemFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId * workitem_id, const char * name, int index);
	typedef HAPI_CurveInfo (*CurveInfo_CreateFuncPtr)();
	typedef void (*CurveInfo_InitFuncPtr)(HAPI_CurveInfo * in);
	typedef HAPI_Result (*DeleteAttributeFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info);
	typedef HAPI_Result (*DeleteGroupFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_GroupType group_type, const char * group_name);
	typedef HAPI_Result (*DeleteNodeFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id);
	typedef HAPI_Result (*DirtyPDGNodeFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_Bool clean_results);
	typedef HAPI_Result (*DisconnectNodeInputFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int input_index);
	typedef HAPI_Result (*DisconnectNodeOutputsAtFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int output_index);
	typedef HAPI_Result (*ExtractImageToFileFuncPtr)(const HAPI_Session * session, HAPI_NodeId material_node_id, const char * image_file_format_name, const char * image_planes, const char * destination_folder_path, const char * destination_file_name, int * destination_file_path);
	typedef HAPI_Result (*ExtractImageToMemoryFuncPtr)(const HAPI_Session * session, HAPI_NodeId material_node_id, const char * image_file_format_name, const char * image_planes, int * buffer_size);
	typedef HAPI_GeoInfo (*GeoInfo_CreateFuncPtr)();
	typedef int (*GeoInfo_GetGroupCountByTypeFuncPtr)(HAPI_GeoInfo * in, HAPI_GroupType type);
	typedef void (*GeoInfo_InitFuncPtr)(HAPI_GeoInfo * in);
	typedef HAPI_Result (*GetActiveCacheCountFuncPtr)(const HAPI_Session * session, int * active_cache_count);
	typedef HAPI_Result (*GetActiveCacheNamesFuncPtr)(const HAPI_Session * session, HAPI_StringHandle * cache_names_array, int active_cache_count);
	typedef HAPI_Result (*GetAssetDefinitionParmCountsFuncPtr)(const HAPI_Session * session, HAPI_AssetLibraryId library_id, const char * asset_name, int * parm_count, int * int_value_count, int * float_value_count, int * string_value_count, int * choice_value_count);
	typedef HAPI_Result (*GetAssetDefinitionParmInfosFuncPtr)(const HAPI_Session * session, HAPI_AssetLibraryId library_id, const char * asset_name, HAPI_ParmInfo * parm_infos_array, int start, int length);
	typedef HAPI_Result (*GetAssetDefinitionParmValuesFuncPtr)(const HAPI_Session * session, HAPI_AssetLibraryId library_id, const char * asset_name, int * int_values_array, int int_start, int int_length, float * float_values_array, int float_start, int float_length, HAPI_Bool string_evaluate, HAPI_StringHandle * string_values_array, int string_start, int string_length, HAPI_ParmChoiceInfo * choice_values_array, int choice_start, int choice_length);
	typedef HAPI_Result (*GetAssetInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_AssetInfo * asset_info);
	typedef HAPI_Result (*GetAttributeFloat64ArrayDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, double * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	typedef HAPI_Result (*GetAttributeFloat64DataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, double * data_array, int start, int length);
	typedef HAPI_Result (*GetAttributeFloatArrayDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, float * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	typedef HAPI_Result (*GetAttributeFloatDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, float * data_array, int start, int length);
	typedef HAPI_Result (*GetAttributeInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeOwner owner, HAPI_AttributeInfo * attr_info);
	typedef HAPI_Result (*GetAttributeInt16ArrayDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_Int16 * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	typedef HAPI_Result (*GetAttributeInt16DataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, HAPI_Int16 * data_array, int start, int length);
	typedef HAPI_Result (*GetAttributeInt64ArrayDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_Int64 * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	typedef HAPI_Result (*GetAttributeInt64DataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, HAPI_Int64 * data_array, int start, int length);
	typedef HAPI_Result (*GetAttributeInt8ArrayDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_Int8 * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	typedef HAPI_Result (*GetAttributeInt8DataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, HAPI_Int8 * data_array, int start, int length);
	typedef HAPI_Result (*GetAttributeIntArrayDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	typedef HAPI_Result (*GetAttributeIntDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, int * data_array, int start, int length);
	typedef HAPI_Result (*GetAttributeNamesFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_AttributeOwner owner, HAPI_StringHandle * attribute_names_array, int count);
	typedef HAPI_Result (*GetAttributeStringArrayDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_StringHandle * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	typedef HAPI_Result (*GetAttributeStringDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_StringHandle * data_array, int start, int length);
	typedef HAPI_Result (*GetAttributeUInt8ArrayDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_UInt8 * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	typedef HAPI_Result (*GetAttributeUInt8DataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, HAPI_UInt8 * data_array, int start, int length);
	typedef HAPI_Result (*GetAvailableAssetCountFuncPtr)(const HAPI_Session * session, HAPI_AssetLibraryId library_id, int * asset_count);
	typedef HAPI_Result (*GetAvailableAssetsFuncPtr)(const HAPI_Session * session, HAPI_AssetLibraryId library_id, HAPI_StringHandle * asset_names_array, int asset_count);
	typedef HAPI_Result (*GetBoxInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId geo_node_id, HAPI_PartId part_id, HAPI_BoxInfo * box_info);
	typedef HAPI_Result (*GetCachePropertyFuncPtr)(const HAPI_Session * session, const char * cache_name, HAPI_CacheProperty cache_property, int * property_value);
	typedef HAPI_Result (*GetComposedChildNodeListFuncPtr)(const HAPI_Session * session, HAPI_NodeId parent_node_id, HAPI_NodeId * child_node_ids_array, int count);
	typedef HAPI_Result (*GetComposedNodeCookResultFuncPtr)(const HAPI_Session * session, char * string_value, int length);
	typedef HAPI_Result (*GetComposedObjectListFuncPtr)(const HAPI_Session * session, HAPI_NodeId parent_node_id, HAPI_ObjectInfo * object_infos_array, int start, int length);
	typedef HAPI_Result (*GetComposedObjectTransformsFuncPtr)(const HAPI_Session * session, HAPI_NodeId parent_node_id, HAPI_RSTOrder rst_order, HAPI_Transform * transform_array, int start, int length);
	typedef HAPI_Result (*GetCompositorOptionsFuncPtr)(const HAPI_Session * session, HAPI_CompositorOptions * compositor_options);
	typedef HAPI_Result (*GetConnectionErrorFuncPtr)(char * string_value, int length, HAPI_Bool clear);
	typedef HAPI_Result (*GetConnectionErrorLengthFuncPtr)(int * buffer_length);
	typedef HAPI_Result (*GetCookingCurrentCountFuncPtr)(const HAPI_Session * session, int * count);
	typedef HAPI_Result (*GetCookingTotalCountFuncPtr)(const HAPI_Session * session, int * count);
	typedef HAPI_Result (*GetCurveCountsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int * counts_array, int start, int length);
	typedef HAPI_Result (*GetCurveInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_CurveInfo * info);
	typedef HAPI_Result (*GetCurveKnotsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, float * knots_array, int start, int length);
	typedef HAPI_Result (*GetCurveOrdersFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int * orders_array, int start, int length);
	typedef HAPI_Result (*GetDisplayGeoInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId object_node_id, HAPI_GeoInfo * geo_info);
	typedef HAPI_Result (*GetEdgeCountOfEdgeGroupFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * group_name, int * edge_count);
	typedef HAPI_Result (*GetEnvIntFuncPtr)(HAPI_EnvIntType int_type, int * value);
	typedef HAPI_Result (*GetFaceCountsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int * face_counts_array, int start, int length);
	typedef HAPI_Result (*GetFirstVolumeTileFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_VolumeTileInfo * tile);
	typedef HAPI_Result (*GetGeoInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_GeoInfo * geo_info);
	typedef HAPI_Result (*GetGeoSizeFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * format, int * size);
	typedef HAPI_Result (*GetGroupCountOnPackedInstancePartFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int * pointGroupCount, int * primitiveGroupCount);
	typedef HAPI_Result (*GetGroupMembershipFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_GroupType group_type, const char * group_name, HAPI_Bool * membership_array_all_equal, int * membership_array, int start, int length);
	typedef HAPI_Result (*GetGroupMembershipOnPackedInstancePartFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_GroupType group_type, const char * group_name, HAPI_Bool * membership_array_all_equal, int * membership_array, int start, int length);
	typedef HAPI_Result (*GetGroupNamesFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_GroupType group_type, HAPI_StringHandle * group_names_array, int group_count);
	typedef HAPI_Result (*GetGroupNamesOnPackedInstancePartFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_GroupType group_type, HAPI_StringHandle * group_names_array, int group_count);
	typedef HAPI_Result (*GetHIPFileNodeCountFuncPtr)(const HAPI_Session *session, HAPI_HIPFileId id, int * count);
	typedef HAPI_Result (*GetHIPFileNodeIdsFuncPtr)(const HAPI_Session *session, HAPI_HIPFileId id, HAPI_NodeId * node_ids, int length);
	typedef HAPI_Result (*GetHandleBindingInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int handle_index, HAPI_HandleBindingInfo * handle_binding_infos_array, int start, int length);
	typedef HAPI_Result (*GetHandleInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_HandleInfo * handle_infos_array, int start, int length);
	typedef HAPI_Result (*GetHeightFieldDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, float * values_array, int start, int length);
	typedef HAPI_Result (*GetImageFilePathFuncPtr)(const HAPI_Session * session, HAPI_NodeId material_node_id, const char * image_file_format_name, const char * image_planes, const char * destination_folder_path, const char * destination_file_name, HAPI_ParmId texture_parm_id, int * destination_file_path);
	typedef HAPI_Result (*GetImageInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId material_node_id, HAPI_ImageInfo * image_info);
	typedef HAPI_Result (*GetImageMemoryBufferFuncPtr)(const HAPI_Session * session, HAPI_NodeId material_node_id, char * buffer, int length);
	typedef HAPI_Result (*GetImagePlaneCountFuncPtr)(const HAPI_Session * session, HAPI_NodeId material_node_id, int * image_plane_count);
	typedef HAPI_Result (*GetImagePlanesFuncPtr)(const HAPI_Session * session, HAPI_NodeId material_node_id, HAPI_StringHandle * image_planes_array, int image_plane_count);
	typedef HAPI_Result (*GetInstanceTransformsOnPartFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_RSTOrder rst_order, HAPI_Transform * transforms_array, int start, int length);
	typedef HAPI_Result (*GetInstancedObjectIdsFuncPtr)(const HAPI_Session * session, HAPI_NodeId object_node_id, HAPI_NodeId * instanced_node_id_array, int start, int length);
	typedef HAPI_Result (*GetInstancedPartIdsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_PartId * instanced_parts_array, int start, int length);
	typedef HAPI_Result (*GetInstancerPartTransformsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_RSTOrder rst_order, HAPI_Transform * transforms_array, int start, int length);
	typedef HAPI_Result (*GetManagerNodeIdFuncPtr)(const HAPI_Session * session, HAPI_NodeType node_type, HAPI_NodeId * node_id);
	typedef HAPI_Result (*GetMaterialInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId material_node_id, HAPI_MaterialInfo * material_info);
	typedef HAPI_Result (*GetMaterialNodeIdsOnFacesFuncPtr)(const HAPI_Session * session, HAPI_NodeId geometry_node_id, HAPI_PartId part_id, HAPI_Bool * are_all_the_same, HAPI_NodeId * material_ids_array, int start, int length);
	typedef HAPI_Result (*GetNextVolumeTileFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_VolumeTileInfo * tile);
	typedef HAPI_Result (*GetNodeInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_NodeInfo * node_info);
	typedef HAPI_Result (*GetNodeInputNameFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int input_idx, HAPI_StringHandle * name);
	typedef HAPI_Result (*GetNodeOutputNameFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int output_idx, HAPI_StringHandle * name);
	typedef HAPI_Result (*GetNodePathFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_NodeId relative_to_node_id, HAPI_StringHandle * path);
	typedef HAPI_Result (*GetNumWorkitemsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int * num);
	typedef HAPI_Result (*GetObjectInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ObjectInfo * object_info);
	typedef HAPI_Result (*GetObjectTransformFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_NodeId relative_to_node_id, HAPI_RSTOrder rst_order, HAPI_Transform * transform);
	typedef HAPI_Result (*GetOutputGeoCountFuncPtr)(const HAPI_Session* session, HAPI_NodeId node_id, int* count);
	typedef HAPI_Result (*GetOutputGeoInfosFuncPtr)(const HAPI_Session* session, HAPI_NodeId node_id, HAPI_GeoInfo* geo_infos_array, int count);
	typedef HAPI_Result (*GetOutputNodeIdFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int output, HAPI_NodeId * output_node_id);
	typedef HAPI_Result (*GetPDGEventsFuncPtr)(const HAPI_Session * session, HAPI_PDG_GraphContextId graph_context_id, HAPI_PDG_EventInfo * event_array, int length, int * event_count, int * remaining_events);
	typedef HAPI_Result (*GetPDGGraphContextIdFuncPtr)(const HAPI_Session * session, HAPI_NodeId top_node_id, HAPI_PDG_GraphContextId * context_id);
	typedef HAPI_Result (*GetPDGGraphContextsFuncPtr)(const HAPI_Session * session, int * num_contexts, HAPI_StringHandle * context_names_array, HAPI_PDG_GraphContextId * context_id_array, int count);
	typedef HAPI_Result (*GetPDGStateFuncPtr)(const HAPI_Session * session, HAPI_PDG_GraphContextId graph_context_id, int * pdg_state);
	typedef HAPI_Result (*GetParametersFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmInfo * parm_infos_array, int start, int length);
	typedef HAPI_Result (*GetParmChoiceListsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmChoiceInfo * parm_choices_array, int start, int length);
	typedef HAPI_Result (*GetParmExpressionFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, HAPI_StringHandle * value);
	typedef HAPI_Result (*GetParmFileFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, const char * destination_directory, const char * destination_file_name);
	typedef HAPI_Result (*GetParmFloatValueFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, float * value);
	typedef HAPI_Result (*GetParmFloatValuesFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, float * values_array, int start, int length);
	typedef HAPI_Result (*GetParmIdFromNameFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, HAPI_ParmId * parm_id);
	typedef HAPI_Result (*GetParmInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, HAPI_ParmInfo * parm_info);
	typedef HAPI_Result (*GetParmInfoFromNameFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, HAPI_ParmInfo * parm_info);
	typedef HAPI_Result (*GetParmIntValueFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, int * value);
	typedef HAPI_Result (*GetParmIntValuesFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int * values_array, int start, int length);
	typedef HAPI_Result (*GetParmNodeValueFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, HAPI_NodeId * value);
	typedef HAPI_Result (*GetParmStringValueFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, HAPI_Bool evaluate, HAPI_StringHandle * value);
	typedef HAPI_Result (*GetParmStringValuesFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_Bool evaluate, HAPI_StringHandle * values_array, int start, int length);
	typedef HAPI_Result (*GetParmTagNameFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, int tag_index, HAPI_StringHandle * tag_name);
	typedef HAPI_Result (*GetParmTagValueFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, const char * tag_name, HAPI_StringHandle * tag_value);
	typedef HAPI_Result (*GetParmWithTagFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * tag_name, HAPI_ParmId * parm_id);
	typedef HAPI_Result (*GetPartInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_PartInfo * part_info);
	typedef HAPI_Result (*GetPresetFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, char * buffer, int buffer_length);
	typedef HAPI_Result (*GetPresetBufLengthFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PresetType preset_type, const char * preset_name, int * buffer_length);
	typedef HAPI_Result (*GetServerEnvIntFuncPtr)(const HAPI_Session * session, const char * variable_name, int * value);
	typedef HAPI_Result (*GetServerEnvStringFuncPtr)(const HAPI_Session * session, const char * variable_name, HAPI_StringHandle * value);
	typedef HAPI_Result (*GetServerEnvVarCountFuncPtr)(const HAPI_Session * session, int * env_count);
	typedef HAPI_Result (*GetServerEnvVarListFuncPtr)(const HAPI_Session * session, HAPI_StringHandle * values_array, int start, int length);
	typedef HAPI_Result (*GetSessionEnvIntFuncPtr)(const HAPI_Session * session, HAPI_SessionEnvIntType int_type, int * value);
	typedef HAPI_Result (*GetSessionSyncInfoFuncPtr)(const HAPI_Session * session, HAPI_SessionSyncInfo * session_sync_info);
	typedef HAPI_Result (*GetSphereInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId geo_node_id, HAPI_PartId part_id, HAPI_SphereInfo * sphere_info);
	typedef HAPI_Result (*GetStatusFuncPtr)(const HAPI_Session * session, HAPI_StatusType status_type, int * status);
	typedef HAPI_Result (*GetStatusStringFuncPtr)(const HAPI_Session * session, HAPI_StatusType status_type, char * string_value, int length);
	typedef HAPI_Result (*GetStatusStringBufLengthFuncPtr)(const HAPI_Session * session, HAPI_StatusType status_type, HAPI_StatusVerbosity verbosity, int * buffer_length);
	typedef HAPI_Result (*GetStringFuncPtr)(const HAPI_Session * session, HAPI_StringHandle string_handle, char * string_value, int length);
	typedef HAPI_Result (*GetStringBatchFuncPtr)(const HAPI_Session * session, char * char_buffer, int char_array_length);
	typedef HAPI_Result (*GetStringBatchSizeFuncPtr)(const HAPI_Session * session, const int * string_handle_array, int string_handle_count, int * string_buffer_size);
	typedef HAPI_Result (*GetStringBufLengthFuncPtr)(const HAPI_Session * session, HAPI_StringHandle string_handle, int * buffer_length);
	typedef HAPI_Result (*GetSupportedImageFileFormatCountFuncPtr)(const HAPI_Session * session, int * file_format_count);
	typedef HAPI_Result (*GetSupportedImageFileFormatsFuncPtr)(const HAPI_Session * session, HAPI_ImageFileFormat * formats_array, int file_format_count);
	typedef HAPI_Result (*GetTimeFuncPtr)(const HAPI_Session * session, float * time);
	typedef HAPI_Result (*GetTimelineOptionsFuncPtr)(const HAPI_Session * session, HAPI_TimelineOptions * timeline_options);
	typedef HAPI_Result (*GetTotalCookCountFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_NodeTypeBits node_type_filter, HAPI_NodeFlagsBits node_flags_filter, HAPI_Bool recursive, int * count);
	typedef HAPI_Result (*GetUseHoudiniTimeFuncPtr)(const HAPI_Session * session, HAPI_Bool * enabled);
	typedef HAPI_Result (*GetVertexListFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int * vertex_list_array, int start, int length);
	typedef HAPI_Result (*GetViewportFuncPtr)(const HAPI_Session * session, HAPI_Viewport * viewport);
	typedef HAPI_Result (*GetVolumeBoundsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, float * x_min, float * y_min, float * z_min, float * x_max, float * y_max, float * z_max, float * x_center, float * y_center, float * z_center);
	typedef HAPI_Result (*GetVolumeInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_VolumeInfo * volume_info);
	typedef HAPI_Result (*GetVolumeTileFloatDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, float fill_value, const HAPI_VolumeTileInfo * tile, float * values_array, int length);
	typedef HAPI_Result (*GetVolumeTileIntDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int fill_value, const HAPI_VolumeTileInfo * tile, int * values_array, int length);
	typedef HAPI_Result (*GetVolumeVisualInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_VolumeVisualInfo * visual_info);
	typedef HAPI_Result (*GetVolumeVoxelFloatDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int x_index, int y_index, int z_index, float * values_array, int value_count);
	typedef HAPI_Result (*GetVolumeVoxelIntDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int x_index, int y_index, int z_index, int * values_array, int value_count);
	typedef HAPI_Result (*GetWorkitemDataLengthFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, int * length);
	typedef HAPI_Result (*GetWorkitemFloatDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, float * data_array, int length);
	typedef HAPI_Result (*GetWorkitemInfoFuncPtr)(const HAPI_Session * session, HAPI_PDG_GraphContextId graph_context_id, HAPI_PDG_WorkitemId workitem_id, HAPI_PDG_WorkitemInfo * workitem_info);
	typedef HAPI_Result (*GetWorkitemIntDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, int * data_array, int length);
	typedef HAPI_Result (*GetWorkitemResultInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, HAPI_PDG_WorkitemResultInfo * resultinfo_array, int resultinfo_count);
	typedef HAPI_Result (*GetWorkitemStringDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, HAPI_StringHandle * data_array, int length);
	typedef HAPI_Result (*GetWorkitemsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int * workitem_ids_array, int length);
	typedef HAPI_HandleBindingInfo (*HandleBindingInfo_CreateFuncPtr)();
	typedef void (*HandleBindingInfo_InitFuncPtr)(HAPI_HandleBindingInfo * in);
	typedef HAPI_HandleInfo (*HandleInfo_CreateFuncPtr)();
	typedef void (*HandleInfo_InitFuncPtr)(HAPI_HandleInfo * in);
	typedef HAPI_ImageFileFormat (*ImageFileFormat_CreateFuncPtr)();
	typedef void (*ImageFileFormat_InitFuncPtr)(HAPI_ImageFileFormat *in);
	typedef HAPI_ImageInfo (*ImageInfo_CreateFuncPtr)();
	typedef void (*ImageInfo_InitFuncPtr)(HAPI_ImageInfo * in);
	typedef HAPI_Result (*InitializeFuncPtr)(const HAPI_Session * session, const HAPI_CookOptions * cook_options, HAPI_Bool use_cooking_thread, int cooking_thread_stack_size, const char * houdini_environment_files, const char * otl_search_path, const char * dso_search_path, const char * image_dso_search_path, const char * audio_dso_search_path);
	typedef HAPI_Result (*InsertMultiparmInstanceFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, int instance_position);
	typedef HAPI_Result (*InterruptFuncPtr)(const HAPI_Session * session);
	typedef HAPI_Result (*IsInitializedFuncPtr)(const HAPI_Session * session);
	typedef HAPI_Result (*IsNodeValidFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int unique_node_id, HAPI_Bool * answer);
	typedef HAPI_Result (*IsSessionValidFuncPtr)(const HAPI_Session * session);
	typedef HAPI_Keyframe (*Keyframe_CreateFuncPtr)();
	typedef void (*Keyframe_InitFuncPtr)(HAPI_Keyframe * in);
	typedef HAPI_Result (*LoadAssetLibraryFromFileFuncPtr)(const HAPI_Session * session, const char * file_path, HAPI_Bool allow_overwrite, HAPI_AssetLibraryId * library_id);
	typedef HAPI_Result (*LoadAssetLibraryFromMemoryFuncPtr)(const HAPI_Session * session, const char * library_buffer, int library_buffer_length, HAPI_Bool allow_overwrite, HAPI_AssetLibraryId * library_id);
	typedef HAPI_Result (*LoadGeoFromFileFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * file_name);
	typedef HAPI_Result (*LoadGeoFromMemoryFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * format, const char * buffer, int length);
	typedef HAPI_Result (*LoadHIPFileFuncPtr)(const HAPI_Session * session, const char * file_name, HAPI_Bool cook_on_load);
	typedef HAPI_Result (*LoadNodeFromFileFuncPtr)(const HAPI_Session * session, const char * file_name, HAPI_NodeId parent_node_id, const char * node_label, HAPI_Bool cook_on_load, HAPI_NodeId * new_node_id);
	typedef HAPI_MaterialInfo (*MaterialInfo_CreateFuncPtr)();
	typedef void (*MaterialInfo_InitFuncPtr)(HAPI_MaterialInfo * in);
	typedef HAPI_Result (*MergeHIPFileFuncPtr)(const HAPI_Session * session, const char * file_name, HAPI_Bool cook_on_load, HAPI_HIPFileId * file_id);
	typedef HAPI_NodeInfo (*NodeInfo_CreateFuncPtr)();
	typedef void (*NodeInfo_InitFuncPtr)(HAPI_NodeInfo * in);
	typedef HAPI_ObjectInfo (*ObjectInfo_CreateFuncPtr)();
	typedef void (*ObjectInfo_InitFuncPtr)(HAPI_ObjectInfo * in);
	typedef HAPI_ParmChoiceInfo (*ParmChoiceInfo_CreateFuncPtr)();
	typedef void (*ParmChoiceInfo_InitFuncPtr)(HAPI_ParmChoiceInfo * in);
	typedef HAPI_Result (*ParmHasExpressionFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, HAPI_Bool * has_expression);
	typedef HAPI_Result (*ParmHasTagFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, const char * tag_name, HAPI_Bool * has_tag);
	typedef HAPI_ParmInfo (*ParmInfo_CreateFuncPtr)();
	typedef int (*ParmInfo_GetFloatValueCountFuncPtr)(const HAPI_ParmInfo * in);
	typedef int (*ParmInfo_GetIntValueCountFuncPtr)(const HAPI_ParmInfo * in);
	typedef int (*ParmInfo_GetStringValueCountFuncPtr)(const HAPI_ParmInfo* in);
	typedef void (*ParmInfo_InitFuncPtr)(HAPI_ParmInfo * in);
	typedef HAPI_Bool (*ParmInfo_IsFloatFuncPtr)(const HAPI_ParmInfo * in);
	typedef HAPI_Bool (*ParmInfo_IsIntFuncPtr)(const HAPI_ParmInfo * in);
	typedef HAPI_Bool (*ParmInfo_IsNodeFuncPtr)(const HAPI_ParmInfo * in);
	typedef HAPI_Bool (*ParmInfo_IsNonValueFuncPtr)(const HAPI_ParmInfo * in);
	typedef HAPI_Bool (*ParmInfo_IsPathFuncPtr)(const HAPI_ParmInfo * in);
	typedef HAPI_Bool (*ParmInfo_IsStringFuncPtr)(const HAPI_ParmInfo * in);
	typedef HAPI_PartInfo (*PartInfo_CreateFuncPtr)();
	typedef int (*PartInfo_GetAttributeCountByOwnerFuncPtr)(HAPI_PartInfo * in, HAPI_AttributeOwner owner);
	typedef int (*PartInfo_GetElementCountByAttributeOwnerFuncPtr)(HAPI_PartInfo * in, HAPI_AttributeOwner owner);
	typedef int (*PartInfo_GetElementCountByGroupTypeFuncPtr)(HAPI_PartInfo * in, HAPI_GroupType type);
	typedef void (*PartInfo_InitFuncPtr)(HAPI_PartInfo * in);
	typedef HAPI_Result (*PausePDGCookFuncPtr)(const HAPI_Session * session, HAPI_PDG_GraphContextId graph_context_id);
	typedef HAPI_Result (*PythonThreadInterpreterLockFuncPtr)(const HAPI_Session * session, HAPI_Bool locked);
	typedef HAPI_Result (*QueryNodeInputFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_to_query, int input_index, HAPI_NodeId * connected_node_id);
	typedef HAPI_Result (*QueryNodeOutputConnectedCountFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int output_idx, HAPI_Bool into_subnets, HAPI_Bool through_dots, int * connected_count);
	typedef HAPI_Result (*QueryNodeOutputConnectedNodesFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int output_idx, HAPI_Bool into_subnets, HAPI_Bool through_dots, HAPI_NodeId * connected_node_ids_array, int start, int length);
	typedef HAPI_Result (*RemoveCustomStringFuncPtr)(const HAPI_Session * session, const HAPI_StringHandle string_handle);
	typedef HAPI_Result (*RemoveMultiparmInstanceFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, int instance_position);
	typedef HAPI_Result (*RemoveParmExpressionFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, int index);
	typedef HAPI_Result (*RenameNodeFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * new_name);
	typedef HAPI_Result (*RenderCOPToImageFuncPtr)(const HAPI_Session * session, HAPI_NodeId cop_node_id);
	typedef HAPI_Result (*RenderTextureToImageFuncPtr)(const HAPI_Session * session, HAPI_NodeId material_node_id, HAPI_ParmId parm_id);
	typedef HAPI_Result (*ResetSimulationFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id);
	typedef HAPI_Result (*RevertGeoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id);
	typedef HAPI_Result (*RevertParmToDefaultFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index);
	typedef HAPI_Result (*RevertParmToDefaultsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name);
	typedef HAPI_Result (*SaveGeoToFileFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * file_name);
	typedef HAPI_Result (*SaveGeoToMemoryFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, char * buffer, int length);
	typedef HAPI_Result (*SaveHIPFileFuncPtr)(const HAPI_Session * session, const char * file_path, HAPI_Bool lock_nodes);
	typedef HAPI_Result (*SaveNodeToFileFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * file_name);
	typedef HAPI_SessionSyncInfo (*SessionSyncInfo_CreateFuncPtr)();
	typedef HAPI_Result (*SetAnimCurveFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, int parm_index, const HAPI_Keyframe * curve_keyframes_array, int keyframe_count);
	typedef HAPI_Result (*SetAttributeFloat64DataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const double * data_array, int start, int length);
	typedef HAPI_Result (*SetAttributeFloatDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const float * data_array, int start, int length);
	typedef HAPI_Result (*SetAttributeInt16DataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const HAPI_Int16 * data_array, int start, int length);
	typedef HAPI_Result (*SetAttributeInt64DataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const HAPI_Int64 * data_array, int start, int length);
	typedef HAPI_Result (*SetAttributeInt8DataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const HAPI_Int8 * data_array, int start, int length);
	typedef HAPI_Result (*SetAttributeIntDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const int * data_array, int start, int length);
	typedef HAPI_Result (*SetAttributeStringDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const char ** data_array, int start, int length);
	typedef HAPI_Result (*SetAttributeUInt8DataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const HAPI_UInt8 * data_array, int start, int length);
	typedef HAPI_Result (*SetCachePropertyFuncPtr)(const HAPI_Session * session, const char * cache_name, HAPI_CacheProperty cache_property, int property_value);
	typedef HAPI_Result (*SetCompositorOptionsFuncPtr)(const HAPI_Session * session, const HAPI_CompositorOptions * compositor_options);
	typedef HAPI_Result (*SetCurveCountsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const int * counts_array, int start, int length);
	typedef HAPI_Result (*SetCurveInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const HAPI_CurveInfo * info);
	typedef HAPI_Result (*SetCurveKnotsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const float * knots_array, int start, int length);
	typedef HAPI_Result (*SetCurveOrdersFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const int * orders_array, int start, int length);
	typedef HAPI_Result (*SetCustomStringFuncPtr)(const HAPI_Session * session, const char * string_value, HAPI_StringHandle * handle_value);
	typedef HAPI_Result (*SetFaceCountsFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const int * face_counts_array, int start, int length);
	typedef HAPI_Result (*SetGroupMembershipFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_GroupType group_type, const char * group_name, const int * membership_array, int start, int length);
	typedef HAPI_Result (*SetHeightFieldDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const float * values_array, int start, int length);
	typedef HAPI_Result (*SetImageInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId material_node_id, const HAPI_ImageInfo * image_info);
	typedef HAPI_Result (*SetNodeDisplayFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, int onOff);
	typedef HAPI_Result (*SetObjectTransformFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const HAPI_TransformEuler * trans);
	typedef HAPI_Result (*SetParmExpressionFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * value, HAPI_ParmId parm_id, int index);
	typedef HAPI_Result (*SetParmFloatValueFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, float value);
	typedef HAPI_Result (*SetParmFloatValuesFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const float * values_array, int start, int length);
	typedef HAPI_Result (*SetParmIntValueFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, int value);
	typedef HAPI_Result (*SetParmIntValuesFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const int * values_array, int start, int length);
	typedef HAPI_Result (*SetParmNodeValueFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, HAPI_NodeId value);
	typedef HAPI_Result (*SetParmStringValueFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, const char * value, HAPI_ParmId parm_id, int index);
	typedef HAPI_Result (*SetPartInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const HAPI_PartInfo * part_info);
	typedef HAPI_Result (*SetPresetFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PresetType preset_type, const char * preset_name, const char * buffer, int buffer_length);
	typedef HAPI_Result (*SetServerEnvIntFuncPtr)(const HAPI_Session * session, const char * variable_name, int value);
	typedef HAPI_Result (*SetServerEnvStringFuncPtr)(const HAPI_Session * session, const char * variable_name, const char * value);
	typedef HAPI_Result (*SetSessionSyncFuncPtr)(const HAPI_Session * session, HAPI_Bool enable);
	typedef HAPI_Result (*SetSessionSyncInfoFuncPtr)(const HAPI_Session * session, const HAPI_SessionSyncInfo * session_sync_info);
	typedef HAPI_Result (*SetTimeFuncPtr)(const HAPI_Session * session, float time);
	typedef HAPI_Result (*SetTimelineOptionsFuncPtr)(const HAPI_Session * session, const HAPI_TimelineOptions * timeline_options);
	typedef HAPI_Result (*SetTransformAnimCurveFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_TransformComponent trans_comp, const HAPI_Keyframe * curve_keyframes_array, int keyframe_count);
	typedef HAPI_Result (*SetUseHoudiniTimeFuncPtr)(const HAPI_Session * session, HAPI_Bool enabled);
	typedef HAPI_Result (*SetVertexListFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const int * vertex_list_array, int start, int length);
	typedef HAPI_Result (*SetViewportFuncPtr)(const HAPI_Session * session, const HAPI_Viewport * viewport);
	typedef HAPI_Result (*SetVolumeInfoFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const HAPI_VolumeInfo * volume_info);
	typedef HAPI_Result (*SetVolumeTileFloatDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const HAPI_VolumeTileInfo * tile, const float * values_array, int length);
	typedef HAPI_Result (*SetVolumeTileIntDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const HAPI_VolumeTileInfo * tile, const int * values_array, int length);
	typedef HAPI_Result (*SetVolumeVoxelFloatDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int x_index, int y_index, int z_index, const float * values_array, int value_count);
	typedef HAPI_Result (*SetVolumeVoxelIntDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int x_index, int y_index, int z_index, const int * values_array, int value_count);
	typedef HAPI_Result (*SetWorkitemFloatDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, const float * values_array, int length);
	typedef HAPI_Result (*SetWorkitemIntDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, const int * values_array, int length);
	typedef HAPI_Result (*SetWorkitemStringDataFuncPtr)(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, int data_index, const char * value);
	typedef HAPI_Result (*StartThriftNamedPipeServerFuncPtr)(const HAPI_ThriftServerOptions * options, const char * pipe_name, HAPI_ProcessId * process_id);
	typedef HAPI_Result (*StartThriftSocketServerFuncPtr)(const HAPI_ThriftServerOptions * options, int port, HAPI_ProcessId * process_id);
	typedef HAPI_ThriftServerOptions (*ThriftServerOptions_CreateFuncPtr)();
	typedef void (*ThriftServerOptions_InitFuncPtr)(HAPI_ThriftServerOptions * in);
	typedef HAPI_TimelineOptions (*TimelineOptions_CreateFuncPtr)();
	typedef void (*TimelineOptions_InitFuncPtr)(HAPI_TimelineOptions * in);
	typedef HAPI_TransformEuler (*TransformEuler_CreateFuncPtr)();
	typedef void (*TransformEuler_InitFuncPtr)(HAPI_TransformEuler * in);
	typedef HAPI_Transform (*Transform_CreateFuncPtr)();
	typedef void (*Transform_InitFuncPtr)(HAPI_Transform * in);
	typedef HAPI_Viewport (*Viewport_CreateFuncPtr)();
	typedef HAPI_VolumeInfo (*VolumeInfo_CreateFuncPtr)();
	typedef void (*VolumeInfo_InitFuncPtr)(HAPI_VolumeInfo * in);
	typedef HAPI_VolumeTileInfo (*VolumeTileInfo_CreateFuncPtr)();
	typedef void (*VolumeTileInfo_InitFuncPtr)(HAPI_VolumeTileInfo * in);

public:

	static AddAttributeFuncPtr AddAttribute;
	static AddGroupFuncPtr AddGroup;
	static AssetInfo_CreateFuncPtr AssetInfo_Create;
	static AssetInfo_InitFuncPtr AssetInfo_Init;
	static AttributeInfo_CreateFuncPtr AttributeInfo_Create;
	static AttributeInfo_InitFuncPtr AttributeInfo_Init;
	static BindCustomImplementationFuncPtr BindCustomImplementation;
	static CancelPDGCookFuncPtr CancelPDGCook;
	static CheckForSpecificErrorsFuncPtr CheckForSpecificErrors;
	static CleanupFuncPtr Cleanup;
	static ClearConnectionErrorFuncPtr ClearConnectionError;
	static CloseSessionFuncPtr CloseSession;
	static CommitGeoFuncPtr CommitGeo;
	static CommitWorkitemsFuncPtr CommitWorkitems;
	static ComposeChildNodeListFuncPtr ComposeChildNodeList;
	static ComposeNodeCookResultFuncPtr ComposeNodeCookResult;
	static ComposeObjectListFuncPtr ComposeObjectList;
	static CompositorOptions_CreateFuncPtr CompositorOptions_Create;
	static CompositorOptions_InitFuncPtr CompositorOptions_Init;
	static ConnectNodeInputFuncPtr ConnectNodeInput;
	static ConvertMatrixToEulerFuncPtr ConvertMatrixToEuler;
	static ConvertMatrixToQuatFuncPtr ConvertMatrixToQuat;
	static ConvertTransformFuncPtr ConvertTransform;
	static ConvertTransformEulerToMatrixFuncPtr ConvertTransformEulerToMatrix;
	static ConvertTransformQuatToMatrixFuncPtr ConvertTransformQuatToMatrix;
	static CookNodeFuncPtr CookNode;
	static CookOptions_AreEqualFuncPtr CookOptions_AreEqual;
	static CookOptions_CreateFuncPtr CookOptions_Create;
	static CookOptions_InitFuncPtr CookOptions_Init;
	static CookPDGFuncPtr CookPDG;
	static CreateCustomSessionFuncPtr CreateCustomSession;
	static CreateHeightFieldInputFuncPtr CreateHeightFieldInput;
	static CreateHeightfieldInputVolumeNodeFuncPtr CreateHeightfieldInputVolumeNode;
	static CreateInProcessSessionFuncPtr CreateInProcessSession;
	static CreateInputNodeFuncPtr CreateInputNode;
	static CreateNodeFuncPtr CreateNode;
	static CreateThriftNamedPipeSessionFuncPtr CreateThriftNamedPipeSession;
	static CreateThriftSocketSessionFuncPtr CreateThriftSocketSession;
	static CreateWorkitemFuncPtr CreateWorkitem;
	static CurveInfo_CreateFuncPtr CurveInfo_Create;
	static CurveInfo_InitFuncPtr CurveInfo_Init;
	static DeleteAttributeFuncPtr DeleteAttribute;
	static DeleteGroupFuncPtr DeleteGroup;
	static DeleteNodeFuncPtr DeleteNode;
	static DirtyPDGNodeFuncPtr DirtyPDGNode;
	static DisconnectNodeInputFuncPtr DisconnectNodeInput;
	static DisconnectNodeOutputsAtFuncPtr DisconnectNodeOutputsAt;
	static ExtractImageToFileFuncPtr ExtractImageToFile;
	static ExtractImageToMemoryFuncPtr ExtractImageToMemory;
	static GeoInfo_CreateFuncPtr GeoInfo_Create;
	static GeoInfo_GetGroupCountByTypeFuncPtr GeoInfo_GetGroupCountByType;
	static GeoInfo_InitFuncPtr GeoInfo_Init;
	static GetActiveCacheCountFuncPtr GetActiveCacheCount;
	static GetActiveCacheNamesFuncPtr GetActiveCacheNames;
	static GetAssetDefinitionParmCountsFuncPtr GetAssetDefinitionParmCounts;
	static GetAssetDefinitionParmInfosFuncPtr GetAssetDefinitionParmInfos;
	static GetAssetDefinitionParmValuesFuncPtr GetAssetDefinitionParmValues;
	static GetAssetInfoFuncPtr GetAssetInfo;
	static GetAttributeFloat64ArrayDataFuncPtr GetAttributeFloat64ArrayData;
	static GetAttributeFloat64DataFuncPtr GetAttributeFloat64Data;
	static GetAttributeFloatArrayDataFuncPtr GetAttributeFloatArrayData;
	static GetAttributeFloatDataFuncPtr GetAttributeFloatData;
	static GetAttributeInfoFuncPtr GetAttributeInfo;
	static GetAttributeInt16ArrayDataFuncPtr GetAttributeInt16ArrayData;
	static GetAttributeInt16DataFuncPtr GetAttributeInt16Data;
	static GetAttributeInt64ArrayDataFuncPtr GetAttributeInt64ArrayData;
	static GetAttributeInt64DataFuncPtr GetAttributeInt64Data;
	static GetAttributeInt8ArrayDataFuncPtr GetAttributeInt8ArrayData;
	static GetAttributeInt8DataFuncPtr GetAttributeInt8Data;
	static GetAttributeIntArrayDataFuncPtr GetAttributeIntArrayData;
	static GetAttributeIntDataFuncPtr GetAttributeIntData;
	static GetAttributeNamesFuncPtr GetAttributeNames;
	static GetAttributeStringArrayDataFuncPtr GetAttributeStringArrayData;
	static GetAttributeStringDataFuncPtr GetAttributeStringData;
	static GetAttributeUInt8ArrayDataFuncPtr GetAttributeUInt8ArrayData;
	static GetAttributeUInt8DataFuncPtr GetAttributeUInt8Data;
	static GetAvailableAssetCountFuncPtr GetAvailableAssetCount;
	static GetAvailableAssetsFuncPtr GetAvailableAssets;
	static GetBoxInfoFuncPtr GetBoxInfo;
	static GetCachePropertyFuncPtr GetCacheProperty;
	static GetComposedChildNodeListFuncPtr GetComposedChildNodeList;
	static GetComposedNodeCookResultFuncPtr GetComposedNodeCookResult;
	static GetComposedObjectListFuncPtr GetComposedObjectList;
	static GetComposedObjectTransformsFuncPtr GetComposedObjectTransforms;
	static GetCompositorOptionsFuncPtr GetCompositorOptions;
	static GetConnectionErrorFuncPtr GetConnectionError;
	static GetConnectionErrorLengthFuncPtr GetConnectionErrorLength;
	static GetCookingCurrentCountFuncPtr GetCookingCurrentCount;
	static GetCookingTotalCountFuncPtr GetCookingTotalCount;
	static GetCurveCountsFuncPtr GetCurveCounts;
	static GetCurveInfoFuncPtr GetCurveInfo;
	static GetCurveKnotsFuncPtr GetCurveKnots;
	static GetCurveOrdersFuncPtr GetCurveOrders;
	static GetDisplayGeoInfoFuncPtr GetDisplayGeoInfo;
	static GetEdgeCountOfEdgeGroupFuncPtr GetEdgeCountOfEdgeGroup;
	static GetEnvIntFuncPtr GetEnvInt;
	static GetFaceCountsFuncPtr GetFaceCounts;
	static GetFirstVolumeTileFuncPtr GetFirstVolumeTile;
	static GetGeoInfoFuncPtr GetGeoInfo;
	static GetGeoSizeFuncPtr GetGeoSize;
	static GetGroupCountOnPackedInstancePartFuncPtr GetGroupCountOnPackedInstancePart;
	static GetGroupMembershipFuncPtr GetGroupMembership;
	static GetGroupMembershipOnPackedInstancePartFuncPtr GetGroupMembershipOnPackedInstancePart;
	static GetGroupNamesFuncPtr GetGroupNames;
	static GetGroupNamesOnPackedInstancePartFuncPtr GetGroupNamesOnPackedInstancePart;
	static GetHIPFileNodeCountFuncPtr GetHIPFileNodeCount;
	static GetHIPFileNodeIdsFuncPtr GetHIPFileNodeIds;
	static GetHandleBindingInfoFuncPtr GetHandleBindingInfo;
	static GetHandleInfoFuncPtr GetHandleInfo;
	static GetHeightFieldDataFuncPtr GetHeightFieldData;
	static GetImageFilePathFuncPtr GetImageFilePath;
	static GetImageInfoFuncPtr GetImageInfo;
	static GetImageMemoryBufferFuncPtr GetImageMemoryBuffer;
	static GetImagePlaneCountFuncPtr GetImagePlaneCount;
	static GetImagePlanesFuncPtr GetImagePlanes;
	static GetInstanceTransformsOnPartFuncPtr GetInstanceTransformsOnPart;
	static GetInstancedObjectIdsFuncPtr GetInstancedObjectIds;
	static GetInstancedPartIdsFuncPtr GetInstancedPartIds;
	static GetInstancerPartTransformsFuncPtr GetInstancerPartTransforms;
	static GetManagerNodeIdFuncPtr GetManagerNodeId;
	static GetMaterialInfoFuncPtr GetMaterialInfo;
	static GetMaterialNodeIdsOnFacesFuncPtr GetMaterialNodeIdsOnFaces;
	static GetNextVolumeTileFuncPtr GetNextVolumeTile;
	static GetNodeInfoFuncPtr GetNodeInfo;
	static GetNodeInputNameFuncPtr GetNodeInputName;
	static GetNodeOutputNameFuncPtr GetNodeOutputName;
	static GetNodePathFuncPtr GetNodePath;
	static GetNumWorkitemsFuncPtr GetNumWorkitems;
	static GetObjectInfoFuncPtr GetObjectInfo;
	static GetObjectTransformFuncPtr GetObjectTransform;
	static GetOutputGeoCountFuncPtr GetOutputGeoCount;
	static GetOutputGeoInfosFuncPtr GetOutputGeoInfos;
	static GetOutputNodeIdFuncPtr GetOutputNodeId;
	static GetPDGEventsFuncPtr GetPDGEvents;
	static GetPDGGraphContextIdFuncPtr GetPDGGraphContextId;
	static GetPDGGraphContextsFuncPtr GetPDGGraphContexts;
	static GetPDGStateFuncPtr GetPDGState;
	static GetParametersFuncPtr GetParameters;
	static GetParmChoiceListsFuncPtr GetParmChoiceLists;
	static GetParmExpressionFuncPtr GetParmExpression;
	static GetParmFileFuncPtr GetParmFile;
	static GetParmFloatValueFuncPtr GetParmFloatValue;
	static GetParmFloatValuesFuncPtr GetParmFloatValues;
	static GetParmIdFromNameFuncPtr GetParmIdFromName;
	static GetParmInfoFuncPtr GetParmInfo;
	static GetParmInfoFromNameFuncPtr GetParmInfoFromName;
	static GetParmIntValueFuncPtr GetParmIntValue;
	static GetParmIntValuesFuncPtr GetParmIntValues;
	static GetParmNodeValueFuncPtr GetParmNodeValue;
	static GetParmStringValueFuncPtr GetParmStringValue;
	static GetParmStringValuesFuncPtr GetParmStringValues;
	static GetParmTagNameFuncPtr GetParmTagName;
	static GetParmTagValueFuncPtr GetParmTagValue;
	static GetParmWithTagFuncPtr GetParmWithTag;
	static GetPartInfoFuncPtr GetPartInfo;
	static GetPresetFuncPtr GetPreset;
	static GetPresetBufLengthFuncPtr GetPresetBufLength;
	static GetServerEnvIntFuncPtr GetServerEnvInt;
	static GetServerEnvStringFuncPtr GetServerEnvString;
	static GetServerEnvVarCountFuncPtr GetServerEnvVarCount;
	static GetServerEnvVarListFuncPtr GetServerEnvVarList;
	static GetSessionEnvIntFuncPtr GetSessionEnvInt;
	static GetSessionSyncInfoFuncPtr GetSessionSyncInfo;
	static GetSphereInfoFuncPtr GetSphereInfo;
	static GetStatusFuncPtr GetStatus;
	static GetStatusStringFuncPtr GetStatusString;
	static GetStatusStringBufLengthFuncPtr GetStatusStringBufLength;
	static GetStringFuncPtr GetString;
	static GetStringBatchFuncPtr GetStringBatch;
	static GetStringBatchSizeFuncPtr GetStringBatchSize;
	static GetStringBufLengthFuncPtr GetStringBufLength;
	static GetSupportedImageFileFormatCountFuncPtr GetSupportedImageFileFormatCount;
	static GetSupportedImageFileFormatsFuncPtr GetSupportedImageFileFormats;
	static GetTimeFuncPtr GetTime;
	static GetTimelineOptionsFuncPtr GetTimelineOptions;
	static GetTotalCookCountFuncPtr GetTotalCookCount;
	static GetUseHoudiniTimeFuncPtr GetUseHoudiniTime;
	static GetVertexListFuncPtr GetVertexList;
	static GetViewportFuncPtr GetViewport;
	static GetVolumeBoundsFuncPtr GetVolumeBounds;
	static GetVolumeInfoFuncPtr GetVolumeInfo;
	static GetVolumeTileFloatDataFuncPtr GetVolumeTileFloatData;
	static GetVolumeTileIntDataFuncPtr GetVolumeTileIntData;
	static GetVolumeVisualInfoFuncPtr GetVolumeVisualInfo;
	static GetVolumeVoxelFloatDataFuncPtr GetVolumeVoxelFloatData;
	static GetVolumeVoxelIntDataFuncPtr GetVolumeVoxelIntData;
	static GetWorkitemDataLengthFuncPtr GetWorkitemDataLength;
	static GetWorkitemFloatDataFuncPtr GetWorkitemFloatData;
	static GetWorkitemInfoFuncPtr GetWorkitemInfo;
	static GetWorkitemIntDataFuncPtr GetWorkitemIntData;
	static GetWorkitemResultInfoFuncPtr GetWorkitemResultInfo;
	static GetWorkitemStringDataFuncPtr GetWorkitemStringData;
	static GetWorkitemsFuncPtr GetWorkitems;
	static HandleBindingInfo_CreateFuncPtr HandleBindingInfo_Create;
	static HandleBindingInfo_InitFuncPtr HandleBindingInfo_Init;
	static HandleInfo_CreateFuncPtr HandleInfo_Create;
	static HandleInfo_InitFuncPtr HandleInfo_Init;
	static ImageFileFormat_CreateFuncPtr ImageFileFormat_Create;
	static ImageFileFormat_InitFuncPtr ImageFileFormat_Init;
	static ImageInfo_CreateFuncPtr ImageInfo_Create;
	static ImageInfo_InitFuncPtr ImageInfo_Init;
	static InitializeFuncPtr Initialize;
	static InsertMultiparmInstanceFuncPtr InsertMultiparmInstance;
	static InterruptFuncPtr Interrupt;
	static IsInitializedFuncPtr IsInitialized;
	static IsNodeValidFuncPtr IsNodeValid;
	static IsSessionValidFuncPtr IsSessionValid;
	static Keyframe_CreateFuncPtr Keyframe_Create;
	static Keyframe_InitFuncPtr Keyframe_Init;
	static LoadAssetLibraryFromFileFuncPtr LoadAssetLibraryFromFile;
	static LoadAssetLibraryFromMemoryFuncPtr LoadAssetLibraryFromMemory;
	static LoadGeoFromFileFuncPtr LoadGeoFromFile;
	static LoadGeoFromMemoryFuncPtr LoadGeoFromMemory;
	static LoadHIPFileFuncPtr LoadHIPFile;
	static LoadNodeFromFileFuncPtr LoadNodeFromFile;
	static MaterialInfo_CreateFuncPtr MaterialInfo_Create;
	static MaterialInfo_InitFuncPtr MaterialInfo_Init;
	static MergeHIPFileFuncPtr MergeHIPFile;
	static NodeInfo_CreateFuncPtr NodeInfo_Create;
	static NodeInfo_InitFuncPtr NodeInfo_Init;
	static ObjectInfo_CreateFuncPtr ObjectInfo_Create;
	static ObjectInfo_InitFuncPtr ObjectInfo_Init;
	static ParmChoiceInfo_CreateFuncPtr ParmChoiceInfo_Create;
	static ParmChoiceInfo_InitFuncPtr ParmChoiceInfo_Init;
	static ParmHasExpressionFuncPtr ParmHasExpression;
	static ParmHasTagFuncPtr ParmHasTag;
	static ParmInfo_CreateFuncPtr ParmInfo_Create;
	static ParmInfo_GetFloatValueCountFuncPtr ParmInfo_GetFloatValueCount;
	static ParmInfo_GetIntValueCountFuncPtr ParmInfo_GetIntValueCount;
	static ParmInfo_GetStringValueCountFuncPtr ParmInfo_GetStringValueCount;
	static ParmInfo_InitFuncPtr ParmInfo_Init;
	static ParmInfo_IsFloatFuncPtr ParmInfo_IsFloat;
	static ParmInfo_IsIntFuncPtr ParmInfo_IsInt;
	static ParmInfo_IsNodeFuncPtr ParmInfo_IsNode;
	static ParmInfo_IsNonValueFuncPtr ParmInfo_IsNonValue;
	static ParmInfo_IsPathFuncPtr ParmInfo_IsPath;
	static ParmInfo_IsStringFuncPtr ParmInfo_IsString;
	static PartInfo_CreateFuncPtr PartInfo_Create;
	static PartInfo_GetAttributeCountByOwnerFuncPtr PartInfo_GetAttributeCountByOwner;
	static PartInfo_GetElementCountByAttributeOwnerFuncPtr PartInfo_GetElementCountByAttributeOwner;
	static PartInfo_GetElementCountByGroupTypeFuncPtr PartInfo_GetElementCountByGroupType;
	static PartInfo_InitFuncPtr PartInfo_Init;
	static PausePDGCookFuncPtr PausePDGCook;
	static PythonThreadInterpreterLockFuncPtr PythonThreadInterpreterLock;
	static QueryNodeInputFuncPtr QueryNodeInput;
	static QueryNodeOutputConnectedCountFuncPtr QueryNodeOutputConnectedCount;
	static QueryNodeOutputConnectedNodesFuncPtr QueryNodeOutputConnectedNodes;
	static RemoveCustomStringFuncPtr RemoveCustomString;
	static RemoveMultiparmInstanceFuncPtr RemoveMultiparmInstance;
	static RemoveParmExpressionFuncPtr RemoveParmExpression;
	static RenameNodeFuncPtr RenameNode;
	static RenderCOPToImageFuncPtr RenderCOPToImage;
	static RenderTextureToImageFuncPtr RenderTextureToImage;
	static ResetSimulationFuncPtr ResetSimulation;
	static RevertGeoFuncPtr RevertGeo;
	static RevertParmToDefaultFuncPtr RevertParmToDefault;
	static RevertParmToDefaultsFuncPtr RevertParmToDefaults;
	static SaveGeoToFileFuncPtr SaveGeoToFile;
	static SaveGeoToMemoryFuncPtr SaveGeoToMemory;
	static SaveHIPFileFuncPtr SaveHIPFile;
	static SaveNodeToFileFuncPtr SaveNodeToFile;
	static SessionSyncInfo_CreateFuncPtr SessionSyncInfo_Create;
	static SetAnimCurveFuncPtr SetAnimCurve;
	static SetAttributeFloat64DataFuncPtr SetAttributeFloat64Data;
	static SetAttributeFloatDataFuncPtr SetAttributeFloatData;
	static SetAttributeInt16DataFuncPtr SetAttributeInt16Data;
	static SetAttributeInt64DataFuncPtr SetAttributeInt64Data;
	static SetAttributeInt8DataFuncPtr SetAttributeInt8Data;
	static SetAttributeIntDataFuncPtr SetAttributeIntData;
	static SetAttributeStringDataFuncPtr SetAttributeStringData;
	static SetAttributeUInt8DataFuncPtr SetAttributeUInt8Data;
	static SetCachePropertyFuncPtr SetCacheProperty;
	static SetCompositorOptionsFuncPtr SetCompositorOptions;
	static SetCurveCountsFuncPtr SetCurveCounts;
	static SetCurveInfoFuncPtr SetCurveInfo;
	static SetCurveKnotsFuncPtr SetCurveKnots;
	static SetCurveOrdersFuncPtr SetCurveOrders;
	static SetCustomStringFuncPtr SetCustomString;
	static SetFaceCountsFuncPtr SetFaceCounts;
	static SetGroupMembershipFuncPtr SetGroupMembership;
	static SetHeightFieldDataFuncPtr SetHeightFieldData;
	static SetImageInfoFuncPtr SetImageInfo;
	static SetNodeDisplayFuncPtr SetNodeDisplay;
	static SetObjectTransformFuncPtr SetObjectTransform;
	static SetParmExpressionFuncPtr SetParmExpression;
	static SetParmFloatValueFuncPtr SetParmFloatValue;
	static SetParmFloatValuesFuncPtr SetParmFloatValues;
	static SetParmIntValueFuncPtr SetParmIntValue;
	static SetParmIntValuesFuncPtr SetParmIntValues;
	static SetParmNodeValueFuncPtr SetParmNodeValue;
	static SetParmStringValueFuncPtr SetParmStringValue;
	static SetPartInfoFuncPtr SetPartInfo;
	static SetPresetFuncPtr SetPreset;
	static SetServerEnvIntFuncPtr SetServerEnvInt;
	static SetServerEnvStringFuncPtr SetServerEnvString;
	static SetSessionSyncFuncPtr SetSessionSync;
	static SetSessionSyncInfoFuncPtr SetSessionSyncInfo;
	static SetTimeFuncPtr SetTime;
	static SetTimelineOptionsFuncPtr SetTimelineOptions;
	static SetTransformAnimCurveFuncPtr SetTransformAnimCurve;
	static SetUseHoudiniTimeFuncPtr SetUseHoudiniTime;
	static SetVertexListFuncPtr SetVertexList;
	static SetViewportFuncPtr SetViewport;
	static SetVolumeInfoFuncPtr SetVolumeInfo;
	static SetVolumeTileFloatDataFuncPtr SetVolumeTileFloatData;
	static SetVolumeTileIntDataFuncPtr SetVolumeTileIntData;
	static SetVolumeVoxelFloatDataFuncPtr SetVolumeVoxelFloatData;
	static SetVolumeVoxelIntDataFuncPtr SetVolumeVoxelIntData;
	static SetWorkitemFloatDataFuncPtr SetWorkitemFloatData;
	static SetWorkitemIntDataFuncPtr SetWorkitemIntData;
	static SetWorkitemStringDataFuncPtr SetWorkitemStringData;
	static StartThriftNamedPipeServerFuncPtr StartThriftNamedPipeServer;
	static StartThriftSocketServerFuncPtr StartThriftSocketServer;
	static ThriftServerOptions_CreateFuncPtr ThriftServerOptions_Create;
	static ThriftServerOptions_InitFuncPtr ThriftServerOptions_Init;
	static TimelineOptions_CreateFuncPtr TimelineOptions_Create;
	static TimelineOptions_InitFuncPtr TimelineOptions_Init;
	static TransformEuler_CreateFuncPtr TransformEuler_Create;
	static TransformEuler_InitFuncPtr TransformEuler_Init;
	static Transform_CreateFuncPtr Transform_Create;
	static Transform_InitFuncPtr Transform_Init;
	static Viewport_CreateFuncPtr Viewport_Create;
	static VolumeInfo_CreateFuncPtr VolumeInfo_Create;
	static VolumeInfo_InitFuncPtr VolumeInfo_Init;
	static VolumeTileInfo_CreateFuncPtr VolumeTileInfo_Create;
	static VolumeTileInfo_InitFuncPtr VolumeTileInfo_Init;

public:

	static HAPI_Result AddAttributeEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info);
	static HAPI_Result AddGroupEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_GroupType group_type, const char * group_name);
	static HAPI_AssetInfo AssetInfo_CreateEmptyStub();
	static void AssetInfo_InitEmptyStub(HAPI_AssetInfo * in);
	static HAPI_AttributeInfo AttributeInfo_CreateEmptyStub();
	static void AttributeInfo_InitEmptyStub(HAPI_AttributeInfo * in);
	static HAPI_Result BindCustomImplementationEmptyStub(HAPI_SessionType session_type, const char * dll_path);
	static HAPI_Result CancelPDGCookEmptyStub(const HAPI_Session * session, HAPI_PDG_GraphContextId graph_context_id);
	static HAPI_Result CheckForSpecificErrorsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ErrorCodeBits errors_to_look_for, HAPI_ErrorCodeBits * errors_found);
	static HAPI_Result CleanupEmptyStub(const HAPI_Session * session);
	static HAPI_Result ClearConnectionErrorEmptyStub();
	static HAPI_Result CloseSessionEmptyStub(const HAPI_Session * session);
	static HAPI_Result CommitGeoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id);
	static HAPI_Result CommitWorkitemsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id);
	static HAPI_Result ComposeChildNodeListEmptyStub(const HAPI_Session * session, HAPI_NodeId parent_node_id, HAPI_NodeTypeBits node_type_filter, HAPI_NodeFlagsBits node_flags_filter, HAPI_Bool recursive, int * count);
	static HAPI_Result ComposeNodeCookResultEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_StatusVerbosity verbosity, int * buffer_length);
	static HAPI_Result ComposeObjectListEmptyStub(const HAPI_Session * session, HAPI_NodeId parent_node_id, const char * categories, int * object_count);
	static HAPI_CompositorOptions CompositorOptions_CreateEmptyStub();
	static void CompositorOptions_InitEmptyStub(HAPI_CompositorOptions * in);
	static HAPI_Result ConnectNodeInputEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int input_index, HAPI_NodeId node_id_to_connect, int output_index);
	static HAPI_Result ConvertMatrixToEulerEmptyStub(const HAPI_Session * session, const float * matrix, HAPI_RSTOrder rst_order, HAPI_XYZOrder rot_order, HAPI_TransformEuler * transform_out);
	static HAPI_Result ConvertMatrixToQuatEmptyStub(const HAPI_Session * session, const float * matrix, HAPI_RSTOrder rst_order, HAPI_Transform * transform_out);
	static HAPI_Result ConvertTransformEmptyStub(const HAPI_Session * session, const HAPI_TransformEuler * transform_in, HAPI_RSTOrder rst_order, HAPI_XYZOrder rot_order, HAPI_TransformEuler * transform_out);
	static HAPI_Result ConvertTransformEulerToMatrixEmptyStub(const HAPI_Session * session, const HAPI_TransformEuler * transform, float * matrix);
	static HAPI_Result ConvertTransformQuatToMatrixEmptyStub(const HAPI_Session * session, const HAPI_Transform * transform, float * matrix);
	static HAPI_Result CookNodeEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const HAPI_CookOptions * cook_options);
	static HAPI_Bool CookOptions_AreEqualEmptyStub(const HAPI_CookOptions * left, const HAPI_CookOptions * right);
	static HAPI_CookOptions CookOptions_CreateEmptyStub();
	static void CookOptions_InitEmptyStub(HAPI_CookOptions * in);
	static HAPI_Result CookPDGEmptyStub(const HAPI_Session * session, HAPI_NodeId cook_node_id, int generate_only, int blocking);
	static HAPI_Result CreateCustomSessionEmptyStub(HAPI_SessionType session_type, void * session_info, HAPI_Session * session);
	static HAPI_Result CreateHeightFieldInputEmptyStub(const HAPI_Session * session, HAPI_NodeId parent_node_id, const char * name, int xsize, int ysize, float voxelsize, HAPI_HeightFieldSampling sampling, HAPI_NodeId * heightfield_node_id, HAPI_NodeId * height_node_id, HAPI_NodeId * mask_node_id, HAPI_NodeId * merge_node_id);
	static HAPI_Result CreateHeightfieldInputVolumeNodeEmptyStub(const HAPI_Session * session, HAPI_NodeId parent_node_id, HAPI_NodeId * new_node_id, const char * name, int xsize, int ysize, float voxelsize);
	static HAPI_Result CreateInProcessSessionEmptyStub(HAPI_Session * session);
	static HAPI_Result CreateInputNodeEmptyStub(const HAPI_Session * session, HAPI_NodeId * node_id, const char * name);
	static HAPI_Result CreateNodeEmptyStub(const HAPI_Session * session, HAPI_NodeId parent_node_id, const char * operator_name, const char * node_label, HAPI_Bool cook_on_creation, HAPI_NodeId * new_node_id);
	static HAPI_Result CreateThriftNamedPipeSessionEmptyStub(HAPI_Session * session, const char * pipe_name);
	static HAPI_Result CreateThriftSocketSessionEmptyStub(HAPI_Session * session, const char * host_name, int port);
	static HAPI_Result CreateWorkitemEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId * workitem_id, const char * name, int index);
	static HAPI_CurveInfo CurveInfo_CreateEmptyStub();
	static void CurveInfo_InitEmptyStub(HAPI_CurveInfo * in);
	static HAPI_Result DeleteAttributeEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info);
	static HAPI_Result DeleteGroupEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_GroupType group_type, const char * group_name);
	static HAPI_Result DeleteNodeEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id);
	static HAPI_Result DirtyPDGNodeEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_Bool clean_results);
	static HAPI_Result DisconnectNodeInputEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int input_index);
	static HAPI_Result DisconnectNodeOutputsAtEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int output_index);
	static HAPI_Result ExtractImageToFileEmptyStub(const HAPI_Session * session, HAPI_NodeId material_node_id, const char * image_file_format_name, const char * image_planes, const char * destination_folder_path, const char * destination_file_name, int * destination_file_path);
	static HAPI_Result ExtractImageToMemoryEmptyStub(const HAPI_Session * session, HAPI_NodeId material_node_id, const char * image_file_format_name, const char * image_planes, int * buffer_size);
	static HAPI_GeoInfo GeoInfo_CreateEmptyStub();
	static int GeoInfo_GetGroupCountByTypeEmptyStub(HAPI_GeoInfo * in, HAPI_GroupType type);
	static void GeoInfo_InitEmptyStub(HAPI_GeoInfo * in);
	static HAPI_Result GetActiveCacheCountEmptyStub(const HAPI_Session * session, int * active_cache_count);
	static HAPI_Result GetActiveCacheNamesEmptyStub(const HAPI_Session * session, HAPI_StringHandle * cache_names_array, int active_cache_count);
	static HAPI_Result GetAssetDefinitionParmCountsEmptyStub(const HAPI_Session * session, HAPI_AssetLibraryId library_id, const char * asset_name, int * parm_count, int * int_value_count, int * float_value_count, int * string_value_count, int * choice_value_count);
	static HAPI_Result GetAssetDefinitionParmInfosEmptyStub(const HAPI_Session * session, HAPI_AssetLibraryId library_id, const char * asset_name, HAPI_ParmInfo * parm_infos_array, int start, int length);
	static HAPI_Result GetAssetDefinitionParmValuesEmptyStub(const HAPI_Session * session, HAPI_AssetLibraryId library_id, const char * asset_name, int * int_values_array, int int_start, int int_length, float * float_values_array, int float_start, int float_length, HAPI_Bool string_evaluate, HAPI_StringHandle * string_values_array, int string_start, int string_length, HAPI_ParmChoiceInfo * choice_values_array, int choice_start, int choice_length);
	static HAPI_Result GetAssetInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_AssetInfo * asset_info);
	static HAPI_Result GetAttributeFloat64ArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, double * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	static HAPI_Result GetAttributeFloat64DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, double * data_array, int start, int length);
	static HAPI_Result GetAttributeFloatArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, float * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	static HAPI_Result GetAttributeFloatDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, float * data_array, int start, int length);
	static HAPI_Result GetAttributeInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeOwner owner, HAPI_AttributeInfo * attr_info);
	static HAPI_Result GetAttributeInt16ArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_Int16 * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	static HAPI_Result GetAttributeInt16DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, HAPI_Int16 * data_array, int start, int length);
	static HAPI_Result GetAttributeInt64ArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_Int64 * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	static HAPI_Result GetAttributeInt64DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, HAPI_Int64 * data_array, int start, int length);
	static HAPI_Result GetAttributeInt8ArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_Int8 * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	static HAPI_Result GetAttributeInt8DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, HAPI_Int8 * data_array, int start, int length);
	static HAPI_Result GetAttributeIntArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	static HAPI_Result GetAttributeIntDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, int * data_array, int start, int length);
	static HAPI_Result GetAttributeNamesEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_AttributeOwner owner, HAPI_StringHandle * attribute_names_array, int count);
	static HAPI_Result GetAttributeStringArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_StringHandle * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	static HAPI_Result GetAttributeStringDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_StringHandle * data_array, int start, int length);
	static HAPI_Result GetAttributeUInt8ArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_UInt8 * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length);
	static HAPI_Result GetAttributeUInt8DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, HAPI_UInt8 * data_array, int start, int length);
	static HAPI_Result GetAvailableAssetCountEmptyStub(const HAPI_Session * session, HAPI_AssetLibraryId library_id, int * asset_count);
	static HAPI_Result GetAvailableAssetsEmptyStub(const HAPI_Session * session, HAPI_AssetLibraryId library_id, HAPI_StringHandle * asset_names_array, int asset_count);
	static HAPI_Result GetBoxInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId geo_node_id, HAPI_PartId part_id, HAPI_BoxInfo * box_info);
	static HAPI_Result GetCachePropertyEmptyStub(const HAPI_Session * session, const char * cache_name, HAPI_CacheProperty cache_property, int * property_value);
	static HAPI_Result GetComposedChildNodeListEmptyStub(const HAPI_Session * session, HAPI_NodeId parent_node_id, HAPI_NodeId * child_node_ids_array, int count);
	static HAPI_Result GetComposedNodeCookResultEmptyStub(const HAPI_Session * session, char * string_value, int length);
	static HAPI_Result GetComposedObjectListEmptyStub(const HAPI_Session * session, HAPI_NodeId parent_node_id, HAPI_ObjectInfo * object_infos_array, int start, int length);
	static HAPI_Result GetComposedObjectTransformsEmptyStub(const HAPI_Session * session, HAPI_NodeId parent_node_id, HAPI_RSTOrder rst_order, HAPI_Transform * transform_array, int start, int length);
	static HAPI_Result GetCompositorOptionsEmptyStub(const HAPI_Session * session, HAPI_CompositorOptions * compositor_options);
	static HAPI_Result GetConnectionErrorEmptyStub(char * string_value, int length, HAPI_Bool clear);
	static HAPI_Result GetConnectionErrorLengthEmptyStub(int * buffer_length);
	static HAPI_Result GetCookingCurrentCountEmptyStub(const HAPI_Session * session, int * count);
	static HAPI_Result GetCookingTotalCountEmptyStub(const HAPI_Session * session, int * count);
	static HAPI_Result GetCurveCountsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int * counts_array, int start, int length);
	static HAPI_Result GetCurveInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_CurveInfo * info);
	static HAPI_Result GetCurveKnotsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, float * knots_array, int start, int length);
	static HAPI_Result GetCurveOrdersEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int * orders_array, int start, int length);
	static HAPI_Result GetDisplayGeoInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId object_node_id, HAPI_GeoInfo * geo_info);
	static HAPI_Result GetEdgeCountOfEdgeGroupEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * group_name, int * edge_count);
	static HAPI_Result GetEnvIntEmptyStub(HAPI_EnvIntType int_type, int * value);
	static HAPI_Result GetFaceCountsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int * face_counts_array, int start, int length);
	static HAPI_Result GetFirstVolumeTileEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_VolumeTileInfo * tile);
	static HAPI_Result GetGeoInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_GeoInfo * geo_info);
	static HAPI_Result GetGeoSizeEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * format, int * size);
	static HAPI_Result GetGroupCountOnPackedInstancePartEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int * pointGroupCount, int * primitiveGroupCount);
	static HAPI_Result GetGroupMembershipEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_GroupType group_type, const char * group_name, HAPI_Bool * membership_array_all_equal, int * membership_array, int start, int length);
	static HAPI_Result GetGroupMembershipOnPackedInstancePartEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_GroupType group_type, const char * group_name, HAPI_Bool * membership_array_all_equal, int * membership_array, int start, int length);
	static HAPI_Result GetGroupNamesEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_GroupType group_type, HAPI_StringHandle * group_names_array, int group_count);
	static HAPI_Result GetGroupNamesOnPackedInstancePartEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_GroupType group_type, HAPI_StringHandle * group_names_array, int group_count);
	static HAPI_Result GetHIPFileNodeCountEmptyStub(const HAPI_Session *session, HAPI_HIPFileId id, int * count);
	static HAPI_Result GetHIPFileNodeIdsEmptyStub(const HAPI_Session *session, HAPI_HIPFileId id, HAPI_NodeId * node_ids, int length);
	static HAPI_Result GetHandleBindingInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int handle_index, HAPI_HandleBindingInfo * handle_binding_infos_array, int start, int length);
	static HAPI_Result GetHandleInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_HandleInfo * handle_infos_array, int start, int length);
	static HAPI_Result GetHeightFieldDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, float * values_array, int start, int length);
	static HAPI_Result GetImageFilePathEmptyStub(const HAPI_Session * session, HAPI_NodeId material_node_id, const char * image_file_format_name, const char * image_planes, const char * destination_folder_path, const char * destination_file_name, HAPI_ParmId texture_parm_id, int * destination_file_path);
	static HAPI_Result GetImageInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId material_node_id, HAPI_ImageInfo * image_info);
	static HAPI_Result GetImageMemoryBufferEmptyStub(const HAPI_Session * session, HAPI_NodeId material_node_id, char * buffer, int length);
	static HAPI_Result GetImagePlaneCountEmptyStub(const HAPI_Session * session, HAPI_NodeId material_node_id, int * image_plane_count);
	static HAPI_Result GetImagePlanesEmptyStub(const HAPI_Session * session, HAPI_NodeId material_node_id, HAPI_StringHandle * image_planes_array, int image_plane_count);
	static HAPI_Result GetInstanceTransformsOnPartEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_RSTOrder rst_order, HAPI_Transform * transforms_array, int start, int length);
	static HAPI_Result GetInstancedObjectIdsEmptyStub(const HAPI_Session * session, HAPI_NodeId object_node_id, HAPI_NodeId * instanced_node_id_array, int start, int length);
	static HAPI_Result GetInstancedPartIdsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_PartId * instanced_parts_array, int start, int length);
	static HAPI_Result GetInstancerPartTransformsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_RSTOrder rst_order, HAPI_Transform * transforms_array, int start, int length);
	static HAPI_Result GetManagerNodeIdEmptyStub(const HAPI_Session * session, HAPI_NodeType node_type, HAPI_NodeId * node_id);
	static HAPI_Result GetMaterialInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId material_node_id, HAPI_MaterialInfo * material_info);
	static HAPI_Result GetMaterialNodeIdsOnFacesEmptyStub(const HAPI_Session * session, HAPI_NodeId geometry_node_id, HAPI_PartId part_id, HAPI_Bool * are_all_the_same, HAPI_NodeId * material_ids_array, int start, int length);
	static HAPI_Result GetNextVolumeTileEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_VolumeTileInfo * tile);
	static HAPI_Result GetNodeInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_NodeInfo * node_info);
	static HAPI_Result GetNodeInputNameEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int input_idx, HAPI_StringHandle * name);
	static HAPI_Result GetNodeOutputNameEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int output_idx, HAPI_StringHandle * name);
	static HAPI_Result GetNodePathEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_NodeId relative_to_node_id, HAPI_StringHandle * path);
	static HAPI_Result GetNumWorkitemsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int * num);
	static HAPI_Result GetObjectInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ObjectInfo * object_info);
	static HAPI_Result GetObjectTransformEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_NodeId relative_to_node_id, HAPI_RSTOrder rst_order, HAPI_Transform * transform);
	static HAPI_Result GetOutputGeoCountEmptyStub(const HAPI_Session* session, HAPI_NodeId node_id, int* count);
	static HAPI_Result GetOutputGeoInfosEmptyStub(const HAPI_Session* session, HAPI_NodeId node_id, HAPI_GeoInfo* geo_infos_array, int count);
	static HAPI_Result GetOutputNodeIdEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int output, HAPI_NodeId * output_node_id);
	static HAPI_Result GetPDGEventsEmptyStub(const HAPI_Session * session, HAPI_PDG_GraphContextId graph_context_id, HAPI_PDG_EventInfo * event_array, int length, int * event_count, int * remaining_events);
	static HAPI_Result GetPDGGraphContextIdEmptyStub(const HAPI_Session * session, HAPI_NodeId top_node_id, HAPI_PDG_GraphContextId * context_id);
	static HAPI_Result GetPDGGraphContextsEmptyStub(const HAPI_Session * session, int * num_contexts, HAPI_StringHandle * context_names_array, HAPI_PDG_GraphContextId * context_id_array, int count);
	static HAPI_Result GetPDGStateEmptyStub(const HAPI_Session * session, HAPI_PDG_GraphContextId graph_context_id, int * pdg_state);
	static HAPI_Result GetParametersEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmInfo * parm_infos_array, int start, int length);
	static HAPI_Result GetParmChoiceListsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmChoiceInfo * parm_choices_array, int start, int length);
	static HAPI_Result GetParmExpressionEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, HAPI_StringHandle * value);
	static HAPI_Result GetParmFileEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, const char * destination_directory, const char * destination_file_name);
	static HAPI_Result GetParmFloatValueEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, float * value);
	static HAPI_Result GetParmFloatValuesEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, float * values_array, int start, int length);
	static HAPI_Result GetParmIdFromNameEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, HAPI_ParmId * parm_id);
	static HAPI_Result GetParmInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, HAPI_ParmInfo * parm_info);
	static HAPI_Result GetParmInfoFromNameEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, HAPI_ParmInfo * parm_info);
	static HAPI_Result GetParmIntValueEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, int * value);
	static HAPI_Result GetParmIntValuesEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int * values_array, int start, int length);
	static HAPI_Result GetParmNodeValueEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, HAPI_NodeId * value);
	static HAPI_Result GetParmStringValueEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, HAPI_Bool evaluate, HAPI_StringHandle * value);
	static HAPI_Result GetParmStringValuesEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_Bool evaluate, HAPI_StringHandle * values_array, int start, int length);
	static HAPI_Result GetParmTagNameEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, int tag_index, HAPI_StringHandle * tag_name);
	static HAPI_Result GetParmTagValueEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, const char * tag_name, HAPI_StringHandle * tag_value);
	static HAPI_Result GetParmWithTagEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * tag_name, HAPI_ParmId * parm_id);
	static HAPI_Result GetPartInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_PartInfo * part_info);
	static HAPI_Result GetPresetEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, char * buffer, int buffer_length);
	static HAPI_Result GetPresetBufLengthEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PresetType preset_type, const char * preset_name, int * buffer_length);
	static HAPI_Result GetServerEnvIntEmptyStub(const HAPI_Session * session, const char * variable_name, int * value);
	static HAPI_Result GetServerEnvStringEmptyStub(const HAPI_Session * session, const char * variable_name, HAPI_StringHandle * value);
	static HAPI_Result GetServerEnvVarCountEmptyStub(const HAPI_Session * session, int * env_count);
	static HAPI_Result GetServerEnvVarListEmptyStub(const HAPI_Session * session, HAPI_StringHandle * values_array, int start, int length);
	static HAPI_Result GetSessionEnvIntEmptyStub(const HAPI_Session * session, HAPI_SessionEnvIntType int_type, int * value);
	static HAPI_Result GetSessionSyncInfoEmptyStub(const HAPI_Session * session, HAPI_SessionSyncInfo * session_sync_info);
	static HAPI_Result GetSphereInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId geo_node_id, HAPI_PartId part_id, HAPI_SphereInfo * sphere_info);
	static HAPI_Result GetStatusEmptyStub(const HAPI_Session * session, HAPI_StatusType status_type, int * status);
	static HAPI_Result GetStatusStringEmptyStub(const HAPI_Session * session, HAPI_StatusType status_type, char * string_value, int length);
	static HAPI_Result GetStatusStringBufLengthEmptyStub(const HAPI_Session * session, HAPI_StatusType status_type, HAPI_StatusVerbosity verbosity, int * buffer_length);
	static HAPI_Result GetStringEmptyStub(const HAPI_Session * session, HAPI_StringHandle string_handle, char * string_value, int length);
	static HAPI_Result GetStringBatchEmptyStub(const HAPI_Session * session, char * char_buffer, int char_array_length);
	static HAPI_Result GetStringBatchSizeEmptyStub(const HAPI_Session * session, const int * string_handle_array, int string_handle_count, int * string_buffer_size);
	static HAPI_Result GetStringBufLengthEmptyStub(const HAPI_Session * session, HAPI_StringHandle string_handle, int * buffer_length);
	static HAPI_Result GetSupportedImageFileFormatCountEmptyStub(const HAPI_Session * session, int * file_format_count);
	static HAPI_Result GetSupportedImageFileFormatsEmptyStub(const HAPI_Session * session, HAPI_ImageFileFormat * formats_array, int file_format_count);
	static HAPI_Result GetTimeEmptyStub(const HAPI_Session * session, float * time);
	static HAPI_Result GetTimelineOptionsEmptyStub(const HAPI_Session * session, HAPI_TimelineOptions * timeline_options);
	static HAPI_Result GetTotalCookCountEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_NodeTypeBits node_type_filter, HAPI_NodeFlagsBits node_flags_filter, HAPI_Bool recursive, int * count);
	static HAPI_Result GetUseHoudiniTimeEmptyStub(const HAPI_Session * session, HAPI_Bool * enabled);
	static HAPI_Result GetVertexListEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int * vertex_list_array, int start, int length);
	static HAPI_Result GetViewportEmptyStub(const HAPI_Session * session, HAPI_Viewport * viewport);
	static HAPI_Result GetVolumeBoundsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, float * x_min, float * y_min, float * z_min, float * x_max, float * y_max, float * z_max, float * x_center, float * y_center, float * z_center);
	static HAPI_Result GetVolumeInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_VolumeInfo * volume_info);
	static HAPI_Result GetVolumeTileFloatDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, float fill_value, const HAPI_VolumeTileInfo * tile, float * values_array, int length);
	static HAPI_Result GetVolumeTileIntDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int fill_value, const HAPI_VolumeTileInfo * tile, int * values_array, int length);
	static HAPI_Result GetVolumeVisualInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_VolumeVisualInfo * visual_info);
	static HAPI_Result GetVolumeVoxelFloatDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int x_index, int y_index, int z_index, float * values_array, int value_count);
	static HAPI_Result GetVolumeVoxelIntDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int x_index, int y_index, int z_index, int * values_array, int value_count);
	static HAPI_Result GetWorkitemDataLengthEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, int * length);
	static HAPI_Result GetWorkitemFloatDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, float * data_array, int length);
	static HAPI_Result GetWorkitemInfoEmptyStub(const HAPI_Session * session, HAPI_PDG_GraphContextId graph_context_id, HAPI_PDG_WorkitemId workitem_id, HAPI_PDG_WorkitemInfo * workitem_info);
	static HAPI_Result GetWorkitemIntDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, int * data_array, int length);
	static HAPI_Result GetWorkitemResultInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, HAPI_PDG_WorkitemResultInfo * resultinfo_array, int resultinfo_count);
	static HAPI_Result GetWorkitemStringDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, HAPI_StringHandle * data_array, int length);
	static HAPI_Result GetWorkitemsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int * workitem_ids_array, int length);
	static HAPI_HandleBindingInfo HandleBindingInfo_CreateEmptyStub();
	static void HandleBindingInfo_InitEmptyStub(HAPI_HandleBindingInfo * in);
	static HAPI_HandleInfo HandleInfo_CreateEmptyStub();
	static void HandleInfo_InitEmptyStub(HAPI_HandleInfo * in);
	static HAPI_ImageFileFormat ImageFileFormat_CreateEmptyStub();
	static void ImageFileFormat_InitEmptyStub(HAPI_ImageFileFormat *in);
	static HAPI_ImageInfo ImageInfo_CreateEmptyStub();
	static void ImageInfo_InitEmptyStub(HAPI_ImageInfo * in);
	static HAPI_Result InitializeEmptyStub(const HAPI_Session * session, const HAPI_CookOptions * cook_options, HAPI_Bool use_cooking_thread, int cooking_thread_stack_size, const char * houdini_environment_files, const char * otl_search_path, const char * dso_search_path, const char * image_dso_search_path, const char * audio_dso_search_path);
	static HAPI_Result InsertMultiparmInstanceEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, int instance_position);
	static HAPI_Result InterruptEmptyStub(const HAPI_Session * session);
	static HAPI_Result IsInitializedEmptyStub(const HAPI_Session * session);
	static HAPI_Result IsNodeValidEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int unique_node_id, HAPI_Bool * answer);
	static HAPI_Result IsSessionValidEmptyStub(const HAPI_Session * session);
	static HAPI_Keyframe Keyframe_CreateEmptyStub();
	static void Keyframe_InitEmptyStub(HAPI_Keyframe * in);
	static HAPI_Result LoadAssetLibraryFromFileEmptyStub(const HAPI_Session * session, const char * file_path, HAPI_Bool allow_overwrite, HAPI_AssetLibraryId * library_id);
	static HAPI_Result LoadAssetLibraryFromMemoryEmptyStub(const HAPI_Session * session, const char * library_buffer, int library_buffer_length, HAPI_Bool allow_overwrite, HAPI_AssetLibraryId * library_id);
	static HAPI_Result LoadGeoFromFileEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * file_name);
	static HAPI_Result LoadGeoFromMemoryEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * format, const char * buffer, int length);
	static HAPI_Result LoadHIPFileEmptyStub(const HAPI_Session * session, const char * file_name, HAPI_Bool cook_on_load);
	static HAPI_Result LoadNodeFromFileEmptyStub(const HAPI_Session * session, const char * file_name, HAPI_NodeId parent_node_id, const char * node_label, HAPI_Bool cook_on_load, HAPI_NodeId * new_node_id);
	static HAPI_MaterialInfo MaterialInfo_CreateEmptyStub();
	static void MaterialInfo_InitEmptyStub(HAPI_MaterialInfo * in);
	static HAPI_Result MergeHIPFileEmptyStub(const HAPI_Session * session, const char * file_name, HAPI_Bool cook_on_load, HAPI_HIPFileId * file_id);
	static HAPI_NodeInfo NodeInfo_CreateEmptyStub();
	static void NodeInfo_InitEmptyStub(HAPI_NodeInfo * in);
	static HAPI_ObjectInfo ObjectInfo_CreateEmptyStub();
	static void ObjectInfo_InitEmptyStub(HAPI_ObjectInfo * in);
	static HAPI_ParmChoiceInfo ParmChoiceInfo_CreateEmptyStub();
	static void ParmChoiceInfo_InitEmptyStub(HAPI_ParmChoiceInfo * in);
	static HAPI_Result ParmHasExpressionEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, HAPI_Bool * has_expression);
	static HAPI_Result ParmHasTagEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, const char * tag_name, HAPI_Bool * has_tag);
	static HAPI_ParmInfo ParmInfo_CreateEmptyStub();
	static int ParmInfo_GetFloatValueCountEmptyStub(const HAPI_ParmInfo * in);
	static int ParmInfo_GetIntValueCountEmptyStub(const HAPI_ParmInfo * in);
	static int ParmInfo_GetStringValueCountEmptyStub(const HAPI_ParmInfo* in);
	static void ParmInfo_InitEmptyStub(HAPI_ParmInfo * in);
	static HAPI_Bool ParmInfo_IsFloatEmptyStub(const HAPI_ParmInfo * in);
	static HAPI_Bool ParmInfo_IsIntEmptyStub(const HAPI_ParmInfo * in);
	static HAPI_Bool ParmInfo_IsNodeEmptyStub(const HAPI_ParmInfo * in);
	static HAPI_Bool ParmInfo_IsNonValueEmptyStub(const HAPI_ParmInfo * in);
	static HAPI_Bool ParmInfo_IsPathEmptyStub(const HAPI_ParmInfo * in);
	static HAPI_Bool ParmInfo_IsStringEmptyStub(const HAPI_ParmInfo * in);
	static HAPI_PartInfo PartInfo_CreateEmptyStub();
	static int PartInfo_GetAttributeCountByOwnerEmptyStub(HAPI_PartInfo * in, HAPI_AttributeOwner owner);
	static int PartInfo_GetElementCountByAttributeOwnerEmptyStub(HAPI_PartInfo * in, HAPI_AttributeOwner owner);
	static int PartInfo_GetElementCountByGroupTypeEmptyStub(HAPI_PartInfo * in, HAPI_GroupType type);
	static void PartInfo_InitEmptyStub(HAPI_PartInfo * in);
	static HAPI_Result PausePDGCookEmptyStub(const HAPI_Session * session, HAPI_PDG_GraphContextId graph_context_id);
	static HAPI_Result PythonThreadInterpreterLockEmptyStub(const HAPI_Session * session, HAPI_Bool locked);
	static HAPI_Result QueryNodeInputEmptyStub(const HAPI_Session * session, HAPI_NodeId node_to_query, int input_index, HAPI_NodeId * connected_node_id);
	static HAPI_Result QueryNodeOutputConnectedCountEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int output_idx, HAPI_Bool into_subnets, HAPI_Bool through_dots, int * connected_count);
	static HAPI_Result QueryNodeOutputConnectedNodesEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int output_idx, HAPI_Bool into_subnets, HAPI_Bool through_dots, HAPI_NodeId * connected_node_ids_array, int start, int length);
	static HAPI_Result RemoveCustomStringEmptyStub(const HAPI_Session * session, const HAPI_StringHandle string_handle);
	static HAPI_Result RemoveMultiparmInstanceEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, int instance_position);
	static HAPI_Result RemoveParmExpressionEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, int index);
	static HAPI_Result RenameNodeEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * new_name);
	static HAPI_Result RenderCOPToImageEmptyStub(const HAPI_Session * session, HAPI_NodeId cop_node_id);
	static HAPI_Result RenderTextureToImageEmptyStub(const HAPI_Session * session, HAPI_NodeId material_node_id, HAPI_ParmId parm_id);
	static HAPI_Result ResetSimulationEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id);
	static HAPI_Result RevertGeoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id);
	static HAPI_Result RevertParmToDefaultEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index);
	static HAPI_Result RevertParmToDefaultsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name);
	static HAPI_Result SaveGeoToFileEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * file_name);
	static HAPI_Result SaveGeoToMemoryEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, char * buffer, int length);
	static HAPI_Result SaveHIPFileEmptyStub(const HAPI_Session * session, const char * file_path, HAPI_Bool lock_nodes);
	static HAPI_Result SaveNodeToFileEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * file_name);
	static HAPI_SessionSyncInfo SessionSyncInfo_CreateEmptyStub();
	static HAPI_Result SetAnimCurveEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_ParmId parm_id, int parm_index, const HAPI_Keyframe * curve_keyframes_array, int keyframe_count);
	static HAPI_Result SetAttributeFloat64DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const double * data_array, int start, int length);
	static HAPI_Result SetAttributeFloatDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const float * data_array, int start, int length);
	static HAPI_Result SetAttributeInt16DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const HAPI_Int16 * data_array, int start, int length);
	static HAPI_Result SetAttributeInt64DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const HAPI_Int64 * data_array, int start, int length);
	static HAPI_Result SetAttributeInt8DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const HAPI_Int8 * data_array, int start, int length);
	static HAPI_Result SetAttributeIntDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const int * data_array, int start, int length);
	static HAPI_Result SetAttributeStringDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const char ** data_array, int start, int length);
	static HAPI_Result SetAttributeUInt8DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const HAPI_UInt8 * data_array, int start, int length);
	static HAPI_Result SetCachePropertyEmptyStub(const HAPI_Session * session, const char * cache_name, HAPI_CacheProperty cache_property, int property_value);
	static HAPI_Result SetCompositorOptionsEmptyStub(const HAPI_Session * session, const HAPI_CompositorOptions * compositor_options);
	static HAPI_Result SetCurveCountsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const int * counts_array, int start, int length);
	static HAPI_Result SetCurveInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const HAPI_CurveInfo * info);
	static HAPI_Result SetCurveKnotsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const float * knots_array, int start, int length);
	static HAPI_Result SetCurveOrdersEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const int * orders_array, int start, int length);
	static HAPI_Result SetCustomStringEmptyStub(const HAPI_Session * session, const char * string_value, HAPI_StringHandle * handle_value);
	static HAPI_Result SetFaceCountsEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const int * face_counts_array, int start, int length);
	static HAPI_Result SetGroupMembershipEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, HAPI_GroupType group_type, const char * group_name, const int * membership_array, int start, int length);
	static HAPI_Result SetHeightFieldDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const float * values_array, int start, int length);
	static HAPI_Result SetImageInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId material_node_id, const HAPI_ImageInfo * image_info);
	static HAPI_Result SetNodeDisplayEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, int onOff);
	static HAPI_Result SetObjectTransformEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const HAPI_TransformEuler * trans);
	static HAPI_Result SetParmExpressionEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * value, HAPI_ParmId parm_id, int index);
	static HAPI_Result SetParmFloatValueEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, float value);
	static HAPI_Result SetParmFloatValuesEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const float * values_array, int start, int length);
	static HAPI_Result SetParmIntValueEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, int index, int value);
	static HAPI_Result SetParmIntValuesEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const int * values_array, int start, int length);
	static HAPI_Result SetParmNodeValueEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * parm_name, HAPI_NodeId value);
	static HAPI_Result SetParmStringValueEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, const char * value, HAPI_ParmId parm_id, int index);
	static HAPI_Result SetPartInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const HAPI_PartInfo * part_info);
	static HAPI_Result SetPresetEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PresetType preset_type, const char * preset_name, const char * buffer, int buffer_length);
	static HAPI_Result SetServerEnvIntEmptyStub(const HAPI_Session * session, const char * variable_name, int value);
	static HAPI_Result SetServerEnvStringEmptyStub(const HAPI_Session * session, const char * variable_name, const char * value);
	static HAPI_Result SetSessionSyncEmptyStub(const HAPI_Session * session, HAPI_Bool enable);
	static HAPI_Result SetSessionSyncInfoEmptyStub(const HAPI_Session * session, const HAPI_SessionSyncInfo * session_sync_info);
	static HAPI_Result SetTimeEmptyStub(const HAPI_Session * session, float time);
	static HAPI_Result SetTimelineOptionsEmptyStub(const HAPI_Session * session, const HAPI_TimelineOptions * timeline_options);
	static HAPI_Result SetTransformAnimCurveEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_TransformComponent trans_comp, const HAPI_Keyframe * curve_keyframes_array, int keyframe_count);
	static HAPI_Result SetUseHoudiniTimeEmptyStub(const HAPI_Session * session, HAPI_Bool enabled);
	static HAPI_Result SetVertexListEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const int * vertex_list_array, int start, int length);
	static HAPI_Result SetViewportEmptyStub(const HAPI_Session * session, const HAPI_Viewport * viewport);
	static HAPI_Result SetVolumeInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const HAPI_VolumeInfo * volume_info);
	static HAPI_Result SetVolumeTileFloatDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const HAPI_VolumeTileInfo * tile, const float * values_array, int length);
	static HAPI_Result SetVolumeTileIntDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const HAPI_VolumeTileInfo * tile, const int * values_array, int length);
	static HAPI_Result SetVolumeVoxelFloatDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int x_index, int y_index, int z_index, const float * values_array, int value_count);
	static HAPI_Result SetVolumeVoxelIntDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, int x_index, int y_index, int z_index, const int * values_array, int value_count);
	static HAPI_Result SetWorkitemFloatDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, const float * values_array, int length);
	static HAPI_Result SetWorkitemIntDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, const int * values_array, int length);
	static HAPI_Result SetWorkitemStringDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PDG_WorkitemId workitem_id, const char * data_name, int data_index, const char * value);
	static HAPI_Result StartThriftNamedPipeServerEmptyStub(const HAPI_ThriftServerOptions * options, const char * pipe_name, HAPI_ProcessId * process_id);
	static HAPI_Result StartThriftSocketServerEmptyStub(const HAPI_ThriftServerOptions * options, int port, HAPI_ProcessId * process_id);
	static HAPI_ThriftServerOptions ThriftServerOptions_CreateEmptyStub();
	static void ThriftServerOptions_InitEmptyStub(HAPI_ThriftServerOptions * in);
	static HAPI_TimelineOptions TimelineOptions_CreateEmptyStub();
	static void TimelineOptions_InitEmptyStub(HAPI_TimelineOptions * in);
	static HAPI_TransformEuler TransformEuler_CreateEmptyStub();
	static void TransformEuler_InitEmptyStub(HAPI_TransformEuler * in);
	static HAPI_Transform Transform_CreateEmptyStub();
	static void Transform_InitEmptyStub(HAPI_Transform * in);
	static HAPI_Viewport Viewport_CreateEmptyStub();
	static HAPI_VolumeInfo VolumeInfo_CreateEmptyStub();
	static void VolumeInfo_InitEmptyStub(HAPI_VolumeInfo * in);
	static HAPI_VolumeTileInfo VolumeTileInfo_CreateEmptyStub();
	static void VolumeTileInfo_InitEmptyStub(HAPI_VolumeTileInfo * in);
};
